<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>WebAssembly</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/WebAssembly"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-WebAssembly rootpage-WebAssembly skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">WebAssembly</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p class="mw-empty-elt">
</p>
<style data-mw-deduplicate="TemplateStyles:r1295905060">
/* start https://en.wikipedia.org/ */
.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}
/* end https://en.wikipedia.org/ */
</style><table class="infobox vevent"><tbody><tr><th colspan="2" class="infobox-above" style="background-color:#e0e0e0;">WebAssembly</th></tr><tr><td colspan="2" class="infobox-image"><span typeof="mw:File"></span></td></tr><tr><th scope="row" class="infobox-label"><a href="Programming_paradigm" title="Programming paradigm">Paradigm</a></th><td class="infobox-data"><a href="Structured_programming" title="Structured programming">structured</a>; <a href="Stack_machine" title="Stack machine">stack machine</a><sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup></td></tr><tr><th scope="row" class="infobox-label"><a href="Software_design" title="Software design">Designed by</a></th><td class="infobox-data"><a href="World_Wide_Web_Consortium" title="World Wide Web Consortium">W3C</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Software_developer" class="mw-redirect" title="Software developer">Developer</a></th><td class="infobox-data organiser"><style data-mw-deduplicate="TemplateStyles:r1126788409">
/* start https://en.wikipedia.org/ */
.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}
/* end https://en.wikipedia.org/ */
</style><div class="plainlist"><ul><li><a href="World_Wide_Web_Consortium" title="World Wide Web Consortium">W3C</a></li><li><a href="Mozilla" title="Mozilla">Mozilla</a></li><li><a href="Microsoft" title="Microsoft">Microsoft</a></li><li><a href="Google" title="Google">Google</a></li><li><a href="Apple_Inc." title="Apple Inc.">Apple</a></li></ul></div></td></tr><tr><th scope="row" class="infobox-label">First appeared</th><td class="infobox-data">March 2017<span style="display:none"> (<span class="bday dtstart published updated">2017-03</span>)</span></td></tr><tr><th scope="row" class="infobox-label"><a href="Operating_system" title="Operating system">OS</a></th><td class="infobox-data"><a href="Platform_independent" class="mw-redirect" title="Platform independent">Platform independent</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Software_license" title="Software license">License</a></th><td class="infobox-data"><a href="Apache_License_2.0" class="mw-redirect" title="Apache License 2.0">Apache License 2.0</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Filename_extension" title="Filename extension">Filename extensions</a></th><td class="infobox-data"><div class="plainlist"><ul><li><style data-mw-deduplicate="TemplateStyles:r886049734">
/* start https://en.wikipedia.org/ */
.mw-parser-output .monospaced{font-family:monospace,monospace}
/* end https://en.wikipedia.org/ */
</style><span class="monospaced">.wat</span> (text format)</li><li><span class="monospaced">.wasm</span> (binary format)</li></ul></div></td></tr><tr><th scope="row" class="infobox-label">Website</th><td class="infobox-data"><span class="url"><a rel="nofollow" class="external text" href="https://webassembly.org/">webassembly<wbr>.org</a></span></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #EEEEEE;">Influenced by</th></tr><tr><td colspan="2" class="infobox-full-data"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><div class="hlist"><ul><li><a href="Asm.js" title="Asm.js">asm.js</a></li><li><a href="Google_Native_Client" title="Google Native Client">PNaCl</a></li><li><a href="Lisp_(programming_language)" title="Lisp (programming language)">Lisp</a></li></ul></div></td></tr></tbody></table>
<p><b>WebAssembly</b> (<b>Wasm</b>) defines a <a href="Software_portability" title="Software portability">portable</a> <a href="Binary_code" title="Binary code">binary-code</a> format and a corresponding text format for <a href="Executable" title="Executable">executable programs</a><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> as well as <a href="Software" title="Software">software</a> interfaces for facilitating communication between such programs and their host environment.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-:0_5-0" class="reference"><a href="#cite_note-:0-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p><p>The main goal of WebAssembly is to facilitate high-performance applications on <a href="Web_page" title="Web page">web pages</a>, but it is also designed to be usable in non-web environments.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> It is an <a href="Open_standard" title="Open standard">open standard</a><sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-:1_9-0" class="reference"><a href="#cite_note-:1-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> intended to support any language on any operating system,<sup id="cite_ref-Wasmer_10-0" class="reference"><a href="#cite_note-Wasmer-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> and in practice many of the most popular languages already have at least some level of support.
</p><p>Announced in 2015<span style="display: none;"> (<span class="bday dtstart published updated itvstart">2015</span>)</span> and first released in March 2017<span style="display: none;"> (<span class="bday dtstart published updated itvstart">2017-03</span>)</span>, WebAssembly became a <a href="World_Wide_Web_Consortium" title="World Wide Web Consortium">World Wide Web Consortium</a> recommendation on 5 December 2019<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> and it received the <i>Programming Languages Software Award</i> from <a href="Association_for_Computing_Machinery" title="Association for Computing Machinery">ACM</a> <a href="SIGPLAN" title="SIGPLAN">SIGPLAN</a> in 2021.<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> The <a href="World_Wide_Web_Consortium" title="World Wide Web Consortium">World Wide Web Consortium</a> (W3C) maintains the standard with contributions from <a href="Mozilla" title="Mozilla">Mozilla</a>, <a href="Microsoft" title="Microsoft">Microsoft</a>, <a href="Google" title="Google">Google</a>, <a href="Apple_Inc." title="Apple Inc.">Apple</a>, <a href="Fastly" title="Fastly">Fastly</a>, <a href="Intel" title="Intel">Intel</a>, and <a href="Red_Hat" title="Red Hat">Red Hat</a>.<sup id="cite_ref-ars_15-0" class="reference"><a href="#cite_note-ars-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-bytecode_16-0" class="reference"><a href="#cite_note-bytecode-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup>
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="History">History</h2></div>
<p>The name WebAssembly is intended to suggest bringing <a href="Assembly_language" title="Assembly language">assembly language</a> programming to the <a href="World_Wide_Web" title="World Wide Web">World Wide Web</a>, where it will be executed <a href="Client%E2%80%93server_model" title="Client–server model">client-side</a>, by the website-user's computer via the user's <a href="Web_browser" title="Web browser">web browser</a>. To accomplish this, WebAssembly must be much more hardware-independent than a true assembly language.
</p><p>WebAssembly was first announced in 2015,<sup id="cite_ref-Launch_bug_17-0" class="reference"><a href="#cite_note-Launch_bug-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> and the first demonstration was executing <a href="Unity_(game_engine)" title="Unity (game engine)">Unity</a>'s <i>Angry Bots</i> in <a href="Firefox" title="Firefox">Firefox</a>,<sup id="cite_ref-Unity_in_Firefox_18-0" class="reference"><a href="#cite_note-Unity_in_Firefox-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> <a href="Google_Chrome" title="Google Chrome">Google Chrome</a>,<sup id="cite_ref-V8_blog_19-0" class="reference"><a href="#cite_note-V8_blog-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> and <a href="Microsoft_Edge_Legacy" title="Microsoft Edge Legacy">Microsoft Edge [Legacy]</a>.<sup id="cite_ref-Edge_20-0" class="reference"><a href="#cite_note-Edge-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> The precursor technologies were <a href="Asm.js" title="Asm.js">asm.js</a> from <a href="Mozilla" title="Mozilla">Mozilla</a> and <a href="Google_Native_Client" title="Google Native Client">Google Native Client</a>,<sup id="cite_ref-techcrunch2015_21-0" class="reference"><a href="#cite_note-techcrunch2015-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-PNaCl_22-0" class="reference"><a href="#cite_note-PNaCl-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup> and the initial implementation was based on the feature set of asm.js.<sup id="cite_ref-initial_implementation_23-0" class="reference"><a href="#cite_note-initial_implementation-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>note 1<span class="cite-bracket">]</span></a></sup>
</p><p>In March 2017, the design of the <a href="Minimum_viable_product" title="Minimum viable product">minimum viable product</a> (MVP) was declared to be finished and the preview phase ended.<sup id="cite_ref-MVP_26-0" class="reference"><a href="#cite_note-MVP-26"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup> In late September 2017, <a href="Safari_(web_browser)" title="Safari (web browser)">Safari 11</a> was released with support. In February 2018, the WebAssembly Working Group published three public working drafts for the Core Specification, JavaScript Interface, and Web API.<sup id="cite_ref-W3C-WD2018_27-0" class="reference"><a href="#cite_note-W3C-WD2018-27"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-W3C-CSWD2018_28-0" class="reference"><a href="#cite_note-W3C-CSWD2018-28"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-W3C-JIWD2018_29-0" class="reference"><a href="#cite_note-W3C-JIWD2018-29"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-W3C-WAWD2018_30-0" class="reference"><a href="#cite_note-W3C-WAWD2018-30"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup>
</p><p>In June 2019, Chrome 75 was released with WebAssembly threads enabled by default.<sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup>
</p><p>Since April 2022, WebAssembly 2.0 has been in draft status.<sup id="cite_ref-32" class="reference"><a href="#cite_note-32"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-33" class="reference"><a href="#cite_note-33"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup> It adds many <a href="SIMD" class="mw-redirect" title="SIMD">SIMD</a>-related instructions and a new v128 datatype, with the ability for functions to return multiple values, and mass memory initialize/copy.
</p>
<div class="mw-heading mw-heading2"><h2 id="Implementations">Implementations</h2></div>
<p>While WebAssembly was initially designed to permit near-native code execution speed in the web browser, it has been considered valuable outside of such, in more generalized contexts.<sup id="cite_ref-nonweb_34-0" class="reference"><a href="#cite_note-nonweb-34"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-nonwebsrc_35-0" class="reference"><a href="#cite_note-nonwebsrc-35"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup> Since WebAssembly's runtime environments (RE) are low-level <a href="Stack_machine" title="Stack machine">virtual stack machines</a> (akin to <a href="Java_virtual_machine" title="Java virtual machine">JVM</a> or <a href="Adobe_Flash" title="Adobe Flash">Flash VM</a>) that may be embedded into host applications, some implementations create standalone runtime environments like Wasmtime and Wasmer .<sup id="cite_ref-:1_9-1" class="reference"><a href="#cite_note-:1-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Wasmer_10-1" class="reference"><a href="#cite_note-Wasmer-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> WebAssembly runtime environments are embedded in <a href="Application_server" title="Application server">application servers</a> to host "server-side" WebAssembly applications and in other applications to support <a href="Plug-in_(computing)" title="Plug-in (computing)">plug-in</a>-based software extension architectures, e.g., "WebAssembly for Proxies" (Proxy-Wasm) which specifies a WebAssembly-based <a href="Application_binary_interface" title="Application binary interface">ABI</a> for extending <a href="Proxy_server" title="Proxy server">proxy servers</a>.<sup id="cite_ref-36" class="reference"><a href="#cite_note-36"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-37" class="reference"><a href="#cite_note-37"><span class="cite-bracket">[</span>36<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Web_browsers">Web browsers</h3></div>
<p>In November 2017, Mozilla declared support "in all major browsers",<sup id="cite_ref-in_browsers_38-0" class="reference"><a href="#cite_note-in_browsers-38"><span class="cite-bracket">[</span>37<span class="cite-bracket">]</span></a></sup> after WebAssembly was enabled by default in Edge [Legacy] 16.<sup id="cite_ref-Edge16_39-0" class="reference"><a href="#cite_note-Edge16-39"><span class="cite-bracket">[</span>38<span class="cite-bracket">]</span></a></sup> This support also includes mobile web browsers for iOS and Android. As of March 2024, 99% of tracked web browsers support WebAssembly (version 1.0),<sup id="cite_ref-canIuse.com_40-0" class="reference"><a href="#cite_note-canIuse.com-40"><span class="cite-bracket">[</span>39<span class="cite-bracket">]</span></a></sup> more than for its predecessor <a href="Asm.js" title="Asm.js">asm.js</a>.<sup id="cite_ref-41" class="reference"><a href="#cite_note-41"><span class="cite-bracket">[</span>40<span class="cite-bracket">]</span></a></sup> For some extensions, from the 2.0 draft standard, support may be lower, but still more than 90% of web browsers may already support, e.g. the reference types extension.<sup id="cite_ref-42" class="reference"><a href="#cite_note-42"><span class="cite-bracket">[</span>41<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Compilers">Compilers</h2></div>
<p>WebAssembly implementations usually use either <a href="Ahead-of-time_compilation" title="Ahead-of-time compilation">ahead-of-time</a> (AOT) or <a href="Just-in-time_compilation" title="Just-in-time compilation">just-in-time</a> (JIT) compilation, but may also use an <a href="Interpreter_(computing)" title="Interpreter (computing)">interpreter</a>. While the first implementations were in <a href="Web_browser" title="Web browser">web browsers</a>, there are also non-browser implementations for general-purpose use, including Wasmer,<sup id="cite_ref-Wasmer_10-2" class="reference"><a href="#cite_note-Wasmer-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> Wasmtime<sup id="cite_ref-43" class="reference"><a href="#cite_note-43"><span class="cite-bracket">[</span>42<span class="cite-bracket">]</span></a></sup> or WAMR,<sup id="cite_ref-bytecode_16-1" class="reference"><a href="#cite_note-bytecode-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> wasm3, WAVM, and many others.<sup id="cite_ref-44" class="reference"><a href="#cite_note-44"><span class="cite-bracket">[</span>43<span class="cite-bracket">]</span></a></sup>
</p><p>Because WebAssembly <a href="Executable" title="Executable">executables</a> are precompiled, it is possible to use a variety of programming languages to make them.<sup id="cite_ref-AcceleratingWeb_45-0" class="reference"><a href="#cite_note-AcceleratingWeb-45"><span class="cite-bracket">[</span>44<span class="cite-bracket">]</span></a></sup> This is achieved either through direct compilation to Wasm, or through an implementation of their corresponding <a href="Virtual_machine#Process_virtual_machines" title="Virtual machine">virtual machines</a> in Wasm. Some 40 programming languages are reported to support Wasm as a compilation target.<sup id="cite_ref-Implementations_46-0" class="reference"><a href="#cite_note-Implementations-46"><span class="cite-bracket">[</span>45<span class="cite-bracket">]</span></a></sup>
</p><p><a href="Emscripten" title="Emscripten">Emscripten</a> compiles <a href="C_(programming_language)" title="C (programming language)">C</a> and <a href="C%2B%2B" title="C++">C++</a> to Wasm<sup id="cite_ref-MVP_26-1" class="reference"><a href="#cite_note-MVP-26"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup> using <a href="Clang" title="Clang">Clang</a> as a frontend, replacing <a href="LLVM" title="LLVM">LLVM</a> as backend and using Binaryen as an optimizer.<sup id="cite_ref-47" class="reference"><a href="#cite_note-47"><span class="cite-bracket">[</span>46<span class="cite-bracket">]</span></a></sup> The <a href="Emscripten" title="Emscripten">Emscripten SDK</a> can compile any <a href="LLVM" title="LLVM">LLVM</a>-supported languages (such as <a href="C_(programming_language)" title="C (programming language)">C</a>, <a href="C%2B%2B" title="C++">C++</a> or <a href="Rust_(programming_language)" title="Rust (programming language)">Rust</a>, among others) source code into a binary file which runs in the same <a href="Sandbox_(computer_security)" title="Sandbox (computer security)">sandbox</a> as JavaScript code.<sup id="cite_ref-52" class="reference"><a href="#cite_note-52"><span class="cite-bracket">[</span>note 2<span class="cite-bracket">]</span></a></sup> Emscripten provides bindings for several commonly used environment interfaces like <a href="WebGL" title="WebGL">WebGL</a>.
</p><p>As of version 8, a standalone <a href="Clang" title="Clang">Clang</a> can compile <a href="C_(programming_language)" title="C (programming language)">C</a> and <a href="C%2B%2B" title="C++">C++</a> to Wasm.<sup id="cite_ref-53" class="reference"><a href="#cite_note-53"><span class="cite-bracket">[</span>51<span class="cite-bracket">]</span></a></sup> Its initial aim was to support <a href="Compilation_(computing)" class="mw-redirect" title="Compilation (computing)">compilation</a> from <a href="C_(programming_language)" title="C (programming language)">C</a> and <a href="C%2B%2B" title="C++">C++</a>,<sup id="cite_ref-github.com_54-0" class="reference"><a href="#cite_note-github.com-54"><span class="cite-bracket">[</span>52<span class="cite-bracket">]</span></a></sup> though support for other source <a href="Programming_language" title="Programming language">languages</a> such as <a href="Rust_(programming_language)" title="Rust (programming language)">Rust</a>, <a href=".NET_languages" class="mw-redirect" title=".NET languages">.NET languages</a><sup id="cite_ref-Rust_55-0" class="reference"><a href="#cite_note-Rust-55"><span class="cite-bracket">[</span>53<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-56" class="reference"><a href="#cite_note-56"><span class="cite-bracket">[</span>54<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Implementations_46-1" class="reference"><a href="#cite_note-Implementations-46"><span class="cite-bracket">[</span>45<span class="cite-bracket">]</span></a></sup> and <a href="AssemblyScript" title="AssemblyScript">AssemblyScript</a><sup id="cite_ref-57" class="reference"><a href="#cite_note-57"><span class="cite-bracket">[</span>55<span class="cite-bracket">]</span></a></sup> (<a href="TypeScript" title="TypeScript">TypeScript</a>-like) is also emerging.
</p><p>After the MVP release, WebAssembly added support for <a href="Thread_(computing)#Single-threaded_vs_multithreaded_programs" title="Thread (computing)">multithreading</a> and <a href="Garbage_collection_(computer_science)" title="Garbage collection (computer science)">garbage collection</a> (<b>WasmGC</b>, and web browsers including Safari have added support for it),<sup id="cite_ref-58" class="reference"><a href="#cite_note-58"><span class="cite-bracket">[</span>56<span class="cite-bracket">]</span></a></sup> which allowed more efficient compilation for garbage-collecting programming languages like <a href="C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a> (supported via <a href="Blazor" title="Blazor">Blazor</a>), <a href="F_Sharp_(programming_language)" title="F Sharp (programming language)">F#</a> (supported via Bolero<sup id="cite_ref-59" class="reference"><a href="#cite_note-59"><span class="cite-bracket">[</span>57<span class="cite-bracket">]</span></a></sup> with help of Blazor) and <a href="Python_(programming_language)" title="Python (programming language)">Python</a>.<sup id="cite_ref-60" class="reference"><a href="#cite_note-60"><span class="cite-bracket">[</span>58<span class="cite-bracket">]</span></a></sup>
</p><p>A number of other languages have some support, including <a href="Haskell" title="Haskell">Haskell</a>,<sup id="cite_ref-61" class="reference"><a href="#cite_note-61"><span class="cite-bracket">[</span>59<span class="cite-bracket">]</span></a></sup> <a href="Python_(programming_language)" title="Python (programming language)">Python</a>,<sup id="cite_ref-62" class="reference"><a href="#cite_note-62"><span class="cite-bracket">[</span>60<span class="cite-bracket">]</span></a></sup> <a href="Julia_(programming_language)" title="Julia (programming language)">Julia</a>,<sup id="cite_ref-63" class="reference"><a href="#cite_note-63"><span class="cite-bracket">[</span>61<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-64" class="reference"><a href="#cite_note-64"><span class="cite-bracket">[</span>62<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-65" class="reference"><a href="#cite_note-65"><span class="cite-bracket">[</span>63<span class="cite-bracket">]</span></a></sup> <a href="Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a><sup id="cite_ref-66" class="reference"><a href="#cite_note-66"><span class="cite-bracket">[</span>64<span class="cite-bracket">]</span></a></sup> and <a href="Ring_(programming_language)" title="Ring (programming language)">Ring</a>.<sup id="cite_ref-InfoWorld_67-0" class="reference"><a href="#cite_note-InfoWorld-67"><span class="cite-bracket">[</span>65<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-68" class="reference"><a href="#cite_note-68"><span class="cite-bracket">[</span>66<span class="cite-bracket">]</span></a></sup>
</p><p>A number of systems can compile Java and other <a href="List_of_JVM_languages" title="List of JVM languages">JVM languages</a> to JavaScript and WebAssembly. These include CheerpJ,<sup id="cite_ref-69" class="reference"><a href="#cite_note-69"><span class="cite-bracket">[</span>67<span class="cite-bracket">]</span></a></sup> JWebAssembly<sup id="cite_ref-70" class="reference"><a href="#cite_note-70"><span class="cite-bracket">[</span>68<span class="cite-bracket">]</span></a></sup> and TeaVM.<sup id="cite_ref-71" class="reference"><a href="#cite_note-71"><span class="cite-bracket">[</span>69<span class="cite-bracket">]</span></a></sup> <a href="Kotlin_(programming_language)" title="Kotlin (programming language)">Kotlin</a> supports WebAssembly directly.<sup id="cite_ref-72" class="reference"><a href="#cite_note-72"><span class="cite-bracket">[</span>70<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-73" class="reference"><a href="#cite_note-73"><span class="cite-bracket">[</span>71<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Limitations">Limitations</h2></div>
<p><a href="Web_browser" title="Web browser">Web browsers</a> do not permit WebAssembly code to directly manipulate the <a href="Document_Object_Model" title="Document Object Model">Document Object Model</a>. Wasm code must defer to <a href="JavaScript" title="JavaScript">JavaScript</a> for this.<sup id="cite_ref-76" class="reference"><a href="#cite_note-76"><span class="cite-bracket">[</span>note 3<span class="cite-bracket">]</span></a></sup>
</p><p>In an October 2023 survey of developers, less than half of the 303 participants were satisfied with the state of WebAssembly. A large majority cited the need for improvement in four areas: WASI, debugging support, integration with JavaScript and browser APIs, and build tooling.<sup id="cite_ref-77" class="reference"><a href="#cite_note-77"><span class="cite-bracket">[</span>74<span class="cite-bracket">]</span></a></sup>
</p><p>For memory-intensive allocations in WebAssembly, there are "grave limitations that make many applications infeasible to be <i>reliably</i> deployed on mobile browsers [..] Currently allocating more than ~300MB of memory is not reliable on Chrome on Android without resorting to Chrome-specific workarounds, nor in Safari on iOS."<sup id="cite_ref-78" class="reference"><a href="#cite_note-78"><span class="cite-bracket">[</span>75<span class="cite-bracket">]</span></a></sup>
</p><p>All major browsers allow WebAssembly if Content-Security-Policy is not specified, or if "unsafe-eval" is used, but behave differently otherwise.<sup id="cite_ref-79" class="reference"><a href="#cite_note-79"><span class="cite-bracket">[</span>76<span class="cite-bracket">]</span></a></sup> Chrome requires "unsafe-eval",<sup id="cite_ref-80" class="reference"><a href="#cite_note-80"><span class="cite-bracket">[</span>77<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-ReferenceA_81-0" class="reference"><a href="#cite_note-ReferenceA-81"><span class="cite-bracket">[</span>78<span class="cite-bracket">]</span></a></sup> though a worker thread can be a workaround.<sup id="cite_ref-ReferenceA_81-1" class="reference"><a href="#cite_note-ReferenceA-81"><span class="cite-bracket">[</span>78<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Security_considerations">Security considerations</h2></div>
<p>In June 2018, a security researcher presented the possibility of using WebAssembly to circumvent browser mitigations for <a href="Spectre_(security_vulnerability)" title="Spectre (security vulnerability)">Spectre</a> and <a href="Meltdown_(security_vulnerability)" title="Meltdown (security vulnerability)">Meltdown</a> security vulnerabilities once support for <a href="Thread_(computing)" title="Thread (computing)">threads</a> with shared memory is added. Due to this concern, WebAssembly developers put the feature on hold.<sup id="cite_ref-forcepoint_82-0" class="reference"><a href="#cite_note-forcepoint-82"><span class="cite-bracket">[</span>79<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-bleeping_computer_83-0" class="reference"><a href="#cite_note-bleeping_computer-83"><span class="cite-bracket">[</span>80<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-tech_republic_84-0" class="reference"><a href="#cite_note-tech_republic-84"><span class="cite-bracket">[</span>81<span class="cite-bracket">]</span></a></sup> However, in order to explore these future language extensions, Google Chrome added experimental support for the WebAssembly thread proposal in October 2018.<sup id="cite_ref-85" class="reference"><a href="#cite_note-85"><span class="cite-bracket">[</span>82<span class="cite-bracket">]</span></a></sup>
</p><p>WebAssembly has been criticized for allowing greater ease of hiding the evidence for <a href="Malware" title="Malware">malware</a> writers, scammers and <a href="Phishing" title="Phishing">phishing</a> attackers; WebAssembly is present on the user's machine only in its compiled form, which "[makes malware] detection difficult".<sup id="cite_ref-virus_bulletin_86-0" class="reference"><a href="#cite_note-virus_bulletin-86"><span class="cite-bracket">[</span>83<span class="cite-bracket">]</span></a></sup> Speed and the easy ability to conceal in WebAssembly have led to its use in hidden <a href="Cryptocurrency#Mining" title="Cryptocurrency">crypto mining</a> within the website visitor's device.<sup id="cite_ref-virus_bulletin_86-1" class="reference"><a href="#cite_note-virus_bulletin-86"><span class="cite-bracket">[</span>83<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-malwarebytes_87-0" class="reference"><a href="#cite_note-malwarebytes-87"><span class="cite-bracket">[</span>84<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-forcepoint_82-1" class="reference"><a href="#cite_note-forcepoint-82"><span class="cite-bracket">[</span>79<span class="cite-bracket">]</span></a></sup> <a href="Coinhive" class="mw-redirect" title="Coinhive">Coinhive</a>, a now defunct service facilitating cryptocurrency mining in website visitors' browsers, claims their "miner uses WebAssembly and runs with about 65% of the performance of a native Miner."<sup id="cite_ref-forcepoint_82-2" class="reference"><a href="#cite_note-forcepoint-82"><span class="cite-bracket">[</span>79<span class="cite-bracket">]</span></a></sup> A June 2019 study from the <a href="Technische_Universit%C3%A4t_Braunschweig" class="mw-redirect" title="Technische Universität Braunschweig">Technische Universität Braunschweig</a> analyzed the usage of WebAssembly in the Alexa top 1 million websites and found the prevalent use was for malicious crypto mining, and that malware accounted for more than half of the WebAssembly-using websites studied.<sup id="cite_ref-88" class="reference"><a href="#cite_note-88"><span class="cite-bracket">[</span>85<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-89" class="reference"><a href="#cite_note-89"><span class="cite-bracket">[</span>86<span class="cite-bracket">]</span></a></sup> An April 2021 study from <a href="University_of_Stuttgart" title="University of Stuttgart">Universität Stuttgart</a> found that since then crypto mining has been marginalized, falling to below 1% of all WebAssembly modules gathered from a wide range of sources, also including the Alexa top 1 million websites.<sup id="cite_ref-90" class="reference"><a href="#cite_note-90"><span class="cite-bracket">[</span>87<span class="cite-bracket">]</span></a></sup>
</p><p>As WebAssembly supports only structured <a href="Control_flow" title="Control flow">control flow</a>, it is amenable toward security verification techniques including <a href="Symbolic_execution" title="Symbolic execution">symbolic execution</a>.<sup id="cite_ref-91" class="reference"><a href="#cite_note-91"><span class="cite-bracket">[</span>88<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Performance">Performance</h2></div>
<p>Benchmark results vary between implementations and between themselves. Performance was benchmarked early to be around 91% (i.e., 10% slower) for running code, not including load/instantiation time<sup id="cite_ref-92" class="reference"><a href="#cite_note-92"><span class="cite-bracket">[</span>89<span class="cite-bracket">]</span></a></sup> or more recently between 100% and 33% of native rates,<sup id="cite_ref-93" class="reference"><a href="#cite_note-93"><span class="cite-bracket">[</span>90<span class="cite-bracket">]</span></a></sup> and 120% of JavaScript (i.e. 20% faster).<sup id="cite_ref-94" class="reference"><a href="#cite_note-94"><span class="cite-bracket">[</span>91<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-96" class="reference"><a href="#cite_note-96"><span class="cite-bracket">[</span>note 4<span class="cite-bracket">]</span></a></sup>
</p><p>A 2021 study suggested that WebAssembly, in the versions they tested at that time, was much faster than JavaScript in certain cases with some browsers, such as running a complex function on a small file, e.g. processing a graphics file, but that JavaScript had some optimizations available, e.g. JIT, that WebAssembly did not.<sup id="cite_ref-97" class="reference"><a href="#cite_note-97"><span class="cite-bracket">[</span>93<span class="cite-bracket">]</span></a></sup>
</p><p>Benchmarking has revealed several other pain-points for WebAssembly, such as poor performance because of no direct access to the DOM,<sup id="cite_ref-99" class="reference"><a href="#cite_note-99"><span class="cite-bracket">[</span>note 5<span class="cite-bracket">]</span></a></sup> a problem which is being addressed.<sup id="cite_ref-100" class="reference"><a href="#cite_note-100"><span class="cite-bracket">[</span>95<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="WASI">WASI</h2></div>
<p>WebAssembly System Interface (WASI) is a simple interface (<a href="Application_binary_interface" title="Application binary interface">ABI</a> and <a href="Application_programming_interface" class="mw-redirect" title="Application programming interface">API</a>) designed by <a href="Mozilla" title="Mozilla">Mozilla</a>, which is intended to be portable to any platform.<sup id="cite_ref-WASI_101-0" class="reference"><a href="#cite_note-WASI-101"><span class="cite-bracket">[</span>96<span class="cite-bracket">]</span></a></sup> It provides <a href="POSIX" title="POSIX">POSIX</a>-like features like file I/O constrained by <a href="Capability-based_security" title="Capability-based security">capability-based security</a>.<sup id="cite_ref-102" class="reference"><a href="#cite_note-102"><span class="cite-bracket">[</span>97<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-103" class="reference"><a href="#cite_note-103"><span class="cite-bracket">[</span>98<span class="cite-bracket">]</span></a></sup> There are additional proposed ABI/APIs.<sup id="cite_ref-reference-sysroot_104-0" class="reference"><a href="#cite_note-reference-sysroot-104"><span class="cite-bracket">[</span>99<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-wasm-c-api_105-0" class="reference"><a href="#cite_note-wasm-c-api-105"><span class="cite-bracket">[</span>100<span class="cite-bracket">]</span></a></sup>
</p><p>WASI is influenced by <a href="Capsicum_(Unix)#CloudABI" title="Capsicum (Unix)">CloudABI</a> and <a href="Capsicum_(Unix)" title="Capsicum (Unix)">Capsicum</a>.<sup id="cite_ref-106" class="reference"><a href="#cite_note-106"><span class="cite-bracket">[</span>101<span class="cite-bracket">]</span></a></sup>
</p><p><a href="Solomon_Hykes" class="mw-redirect" title="Solomon Hykes">Solomon Hykes</a>, a co-founder of <a href="Docker_(software)" title="Docker (software)">Docker</a>, wrote in 2019, "If WASM+WASI existed in 2008, we wouldn't have needed to create Docker. That's how important it is. WebAssembly on the server is the future of computing."<sup id="cite_ref-107" class="reference"><a href="#cite_note-107"><span class="cite-bracket">[</span>102<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Specification">Specification</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Host_environment">Host environment</h3></div>
<p>The general standard provides core specifications for the JavaScript API and details on embedding.<sup id="cite_ref-:0_5-1" class="reference"><a href="#cite_note-:0-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Virtual_machine">Virtual machine</h3></div>
<p>Wasm code (binary code, i.e. bytecode) is intended to be run on a <a href="Software_portability" title="Software portability">portable</a> virtual <a href="Stack_machine" title="Stack machine">stack machine</a> (VM).<sup id="cite_ref-stack_machine_108-0" class="reference"><a href="#cite_note-stack_machine-108"><span class="cite-bracket">[</span>103<span class="cite-bracket">]</span></a></sup> The VM is designed to be faster to parse and execute than JavaScript and to have compact code representation.<sup id="cite_ref-github.com_54-1" class="reference"><a href="#cite_note-github.com-54"><span class="cite-bracket">[</span>52<span class="cite-bracket">]</span></a></sup> Any external functionality (like <a href="System_call" title="System call">syscalls</a>) that may be expected by Wasm binary code is not stipulated by the standard. It rather provides a way to deliver interfacing via modules by the host environment that the VM runs in.<sup id="cite_ref-109" class="reference"><a href="#cite_note-109"><span class="cite-bracket">[</span>104<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-:1_9-2" class="reference"><a href="#cite_note-:1-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Wasm_program">Wasm program</h3></div>
<p>A Wasm program is designed as a separate module containing collections of various Wasm-defined values and program type definitions. These are provided in either binary or textual format (see below) that have a common structure.<sup id="cite_ref-110" class="reference"><a href="#cite_note-110"><span class="cite-bracket">[</span>105<span class="cite-bracket">]</span></a></sup> Such a module may provide a start function that is executed upon instantiation of a wasm binary.
</p>
<div class="mw-heading mw-heading4"><h4 id="Instruction_set">Instruction set</h4></div>
<p>The core standard for the binary format of a Wasm program defines an <a href="Instruction_set_architecture" title="Instruction set architecture">instruction set architecture</a> (ISA) consisting of specific <a href="Opcode" title="Opcode">binary encodings</a> of types of operations which are executed by the VM (without specifying how exactly they must be executed).<sup id="cite_ref-111" class="reference"><a href="#cite_note-111"><span class="cite-bracket">[</span>106<span class="cite-bracket">]</span></a></sup> The list of instructions includes standard memory load/store instructions, numeric, parametric, <a href="Control_flow" title="Control flow">control of flow</a> <a href="Instruction_set_architecture" title="Instruction set architecture">instruction types</a> and Wasm-specific variable instructions.<sup id="cite_ref-112" class="reference"><a href="#cite_note-112"><span class="cite-bracket">[</span>107<span class="cite-bracket">]</span></a></sup>
</p><p>The number of opcodes used in the original standard (MVP) was a bit fewer than 200 of the 256 possible opcodes. Subsequent versions of WebAssembly pushed the number of opcodes a bit over 200. The <a href="WebAssembly_SIMD" class="mw-redirect" title="WebAssembly SIMD">WebAssembly SIMD</a> proposal (for parallel processing) introduces an alternate <a href="Opcode_prefix" title="Opcode prefix">opcode prefix</a> (0xfd) for <a href="128-bit_computing" title="128-bit computing">128-bit</a> SIMD. The concatenation of the SIMD prefix, plus an opcode that is valid after the SIMD prefix, forms a SIMD opcode. The SIMD opcodes bring an additional 236 instructions for the "minimum viable product" (MVP) SIMD capability (for a total of around 436 instructions).<sup id="cite_ref-113" class="reference"><a href="#cite_note-113"><span class="cite-bracket">[</span>108<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-114" class="reference"><a href="#cite_note-114"><span class="cite-bracket">[</span>109<span class="cite-bracket">]</span></a></sup> Those instructions, the "finalized opcodes"<sup id="cite_ref-115" class="reference"><a href="#cite_note-115"><span class="cite-bracket">[</span>110<span class="cite-bracket">]</span></a></sup> are enabled by default across Google's V8 (in Google Chrome), the SpiderMonkey engine in Mozilla Firefox, and the JavaScriptCore engine in Apple's Safari<sup id="cite_ref-116" class="reference"><a href="#cite_note-116"><span class="cite-bracket">[</span>111<span class="cite-bracket">]</span></a></sup> and there are also some additional proposal for instructions for later "post SIMD MVP", and there is also a separate "relaxed-simd" proposal on the table.<sup id="cite_ref-117" class="reference"><a href="#cite_note-117"><span class="cite-bracket">[</span>112<span class="cite-bracket">]</span></a></sup>
</p><p>These SIMD opcodes are also portable and translate to native instruction sets like x64 and ARM. In contrast, neither Java's <a href="Java_bytecode_instruction_listings" class="mw-redirect" title="Java bytecode instruction listings">JVM</a> nor <a href="List_of_CIL_instructions" title="List of CIL instructions">CIL</a> support SIMD, at their <i>opcode level</i>, i.e. in the standard; both do have some parallel APIs which provide SIMD speedup. There is an extension for Java adding <a href="Intrinsic_function" title="Intrinsic function">intrinsics</a> for x64 SIMD,<sup id="cite_ref-118" class="reference"><a href="#cite_note-118"><span class="cite-bracket">[</span>113<span class="cite-bracket">]</span></a></sup> that isn't portable, i.e. not usable on ARM or smartphones. Smartphones can support SIMD by calling assembly code with SIMD, and C# has similar support.
</p>
<div class="mw-heading mw-heading4"><h4 id="Code_representation">Code representation</h4></div>
<p>In March 2017, the WebAssembly Community Group reached consensus on the initial (MVP) binary format, JavaScript API, and reference interpreter.<sup id="cite_ref-Roadmap_119-0" class="reference"><a href="#cite_note-Roadmap-119"><span class="cite-bracket">[</span>114<span class="cite-bracket">]</span></a></sup> It defines a WebAssembly binary format (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">.wasm</code>), which is not designed to be used by humans, as well as a human-readable WebAssembly text format (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">.wat</code>) that resembles a cross between S-expressions and traditional assembly languages.
</p><p>The table below shows an example of a <a href="Factorial" title="Factorial">factorial</a> function written in <a href="C_(programming_language)" title="C (programming language)">C</a> and its corresponding WebAssembly code after compilation, shown both in <span class="monospaced">.wat</span> text format (a human-readable textual representation of WebAssembly) and in <span class="monospaced">.wasm</span> binary format (the raw <a href="Bytecode" title="Bytecode">bytecode</a>, expressed below in <a href="Hexadecimal" title="Hexadecimal">hexadecimal</a>), that is executed by a Web browser or run-time environment that supports WebAssembly.
</p>
<table class="wikitable">
<caption>C source code and corresponding WebAssembly
</caption>
<tbody><tr>
<th scope="col">C source code
</th>
<th scope="col">WebAssembly <span class="monospaced">.wat</span> text format
</th>
<th scope="col">WebAssembly <span class="monospaced">.wasm</span> binary format
</th></tr>
<tr style="vertical-align:top">
<td>
<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span class="kt">int</span><span class="w"> </span><span class="nf">factorial</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">n</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">n</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span>
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
<span class="w"> </span><span class="k">else</span>
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">factorial</span><span class="p">(</span><span class="n">n</span><span class="mi">-1</span><span class="p">);</span>
<span class="p">}</span>
</pre></div>
</td>
<td>
<div class="mw-highlight mw-highlight-lang-wat mw-content-ltr" dir="ltr"><pre><span class="p">(</span><span class="k">func</span> <span class="p">(</span><span class="k">param</span> <span class="kt">i64</span><span class="p">)</span> <span class="p">(</span><span class="k">result</span> <span class="kt">i64</span><span class="p">)</span>
<span class="nb">local.get</span> <span class="mi">0</span>
<span class="nb">i64.eqz</span>
<span class="k">if</span> <span class="p">(</span><span class="k">result</span> <span class="kt">i64</span><span class="p">)</span>
<span class="nb">i64.const</span> <span class="mi">1</span>
<span class="k">else</span>
<span class="nb">local.get</span> <span class="mi">0</span>
<span class="nb">local.get</span> <span class="mi">0</span>
<span class="nb">i64.const</span> <span class="mi">1</span>
<span class="nb">i64.sub</span>
<span class="nb">call</span> <span class="mi">0</span>
<span class="nb">i64.mul</span>
<span class="k">end</span><span class="p">)</span>
</pre></div>
</td>
<td>
<div class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr"><pre>00 61 73 6D 01 00 00 00
01 06 01 60 01 7E 01 7E
03 02 01 00
0A 17 01
15 00
20 00
50
04 7E
42 01
05
20 00
20 00
42 01
7D
10 00
7E
0B
0B
</pre></div>
</td></tr></tbody></table>
<p>All integer constants are encoded using a space-efficient, variable-length <a href="LEB128" title="LEB128">LEB128</a> encoding.<sup id="cite_ref-wasmint_120-0" class="reference"><a href="#cite_note-wasmint-120"><span class="cite-bracket">[</span>115<span class="cite-bracket">]</span></a></sup>
</p><p>The WebAssembly text format is more canonically written in a folded format using <a href="S-expression" title="S-expression">S-expressions</a>. For instructions and expressions, this format is purely <a href="Syntactic_sugar" title="Syntactic sugar">syntactic sugar</a> and has no behavioral differences with the linear format.<sup id="cite_ref-Folded_Instructions_121-0" class="reference"><a href="#cite_note-Folded_Instructions-121"><span class="cite-bracket">[</span>116<span class="cite-bracket">]</span></a></sup> Through <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">wasm2wat</code>, the code above decompiles to:
</p>
<div class="mw-highlight mw-highlight-lang-wat mw-content-ltr" dir="ltr"><pre><span class="p">(</span><span class="k">module</span>
<span class="p">(</span><span class="k">type</span> <span class="nv">$t0</span> <span class="p">(</span><span class="k">func</span> <span class="p">(</span><span class="k">param</span> <span class="kt">i64</span><span class="p">)</span> <span class="p">(</span><span class="k">result</span> <span class="kt">i64</span><span class="p">)))</span>
<span class="p">(</span><span class="k">func</span> <span class="nv">$f0</span> <span class="p">(</span><span class="k">type</span> <span class="nv">$t0</span><span class="p">)</span> <span class="p">(</span><span class="k">param</span> <span class="nv">$p0</span> <span class="kt">i64</span><span class="p">)</span> <span class="p">(</span><span class="k">result</span> <span class="kt">i64</span><span class="p">)</span>
<span class="p">(</span><span class="k">if</span> <span class="nv">$I0</span> <span class="p">(</span><span class="k">result</span> <span class="kt">i64</span><span class="p">)</span> <span class="c1">;; $I0 is an unused label name</span>
<span class="p">(</span><span class="nb">i64.eqz</span>
<span class="p">(</span><span class="nb">local.get</span> <span class="nv">$p0</span><span class="p">))</span> <span class="c1">;; the name $p0 is the same as 0 here</span>
<span class="p">(</span><span class="k">then</span>
<span class="p">(</span><span class="nb">i64.const</span> <span class="mi">1</span><span class="p">))</span>
<span class="p">(</span><span class="k">else</span>
<span class="p">(</span><span class="nb">i64.mul</span>
<span class="p">(</span><span class="nb">local.get</span> <span class="nv">$p0</span><span class="p">)</span>
<span class="p">(</span><span class="nb">call</span> <span class="nv">$f0</span> <span class="c1">;; the name $f0 is the same as 0 here</span>
<span class="p">(</span><span class="nb">i64.sub</span>
<span class="p">(</span><span class="nb">local.get</span> <span class="nv">$p0</span><span class="p">)</span>
<span class="p">(</span><span class="nb">i64.const</span> <span class="mi">1</span><span class="p">))))))))</span>
</pre></div>
<p>A module is implicitly generated by the compiler. The function is referenced by an entry of the type table in the binary, hence a type section and the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">type</code> emitted by the decompiler.<sup id="cite_ref-122" class="reference"><a href="#cite_note-122"><span class="cite-bracket">[</span>117<span class="cite-bracket">]</span></a></sup> The compiler and decompiler can be accessed online.<sup id="cite_ref-123" class="reference"><a href="#cite_note-123"><span class="cite-bracket">[</span>118<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Architecture_Neutral_Distribution_Format" title="Architecture Neutral Distribution Format">Architecture Neutral Distribution Format</a> (ANDF)</li>
<li><a href="UNCOL" title="UNCOL">UNCOL</a></li>
<li><a href="Java_bytecode" title="Java bytecode">Java bytecode</a></li>
<li><a href="Common_Language_Runtime" title="Common Language Runtime">Common Language Runtime</a></li>
<li><a href="LLVM" title="LLVM">LLVM</a></li>
<li><a href="Compiler" title="Compiler">Compilation</a></li>
<li><a href="Software_portability" title="Software portability">Software portability</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Notes">Notes</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text">The asm.js file already provides near-native code execution speeds: "Even discarding the one score where asm.js did better, it executes at around 70% of the speed (i.e., slower) of native C++ code.<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup> and can be considered a viable alternative for browsers that do not support WebAssembly or have it disabled for security reasons.</span>
</li>
<li id="cite_note-52"><span class="mw-cite-backlink"><b><a href="#cite_ref-52">^</a></b></span> <span class="reference-text">According to official documentation, the Emscripten SDK may be used to create <code>.wasm</code> files which then may be executed in a web browser.<sup id="cite_ref-48" class="reference"><a href="#cite_note-48"><span class="cite-bracket">[</span>47<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-49" class="reference"><a href="#cite_note-49"><span class="cite-bracket">[</span>48<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-50" class="reference"><a href="#cite_note-50"><span class="cite-bracket">[</span>49<span class="cite-bracket">]</span></a></sup> Even though Emscripten can consume various languages when using <a href="Clang" title="Clang">Clang</a>, some problems may arise.<sup id="cite_ref-51" class="reference"><a href="#cite_note-51"><span class="cite-bracket">[</span>50<span class="cite-bracket">]</span></a></sup></span>
</li>
<li id="cite_note-76"><span class="mw-cite-backlink"><b><a href="#cite_ref-76">^</a></b></span> <span class="reference-text">For <a href="Rust_(programming_language)" title="Rust (programming language)">Rust</a>/Wasm development, third-party libraries can provide some of the necessary JavaScript I/O.<sup id="cite_ref-74" class="reference"><a href="#cite_note-74"><span class="cite-bracket">[</span>72<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-75" class="reference"><a href="#cite_note-75"><span class="cite-bracket">[</span>73<span class="cite-bracket">]</span></a></sup></span>
</li>
<li id="cite_note-96"><span class="mw-cite-backlink"><b><a href="#cite_ref-96">^</a></b></span> <span class="reference-text">A personal web page of 2024 reported a benchmark of a simple game application on a mobile phone found between 110% and 190% (i.e. faster) of native rates depending on the browser.<sup id="cite_ref-95" class="reference"><a href="#cite_note-95"><span class="cite-bracket">[</span>92<span class="cite-bracket">]</span></a></sup></span>
</li>
<li id="cite_note-99"><span class="mw-cite-backlink"><b><a href="#cite_ref-99">^</a></b></span> <span class="reference-text">"WebAssembly provides no access to the surrounding environment other than via the JavaScript API described in the JS API specification."<sup id="cite_ref-98" class="reference"><a href="#cite_note-98"><span class="cite-bracket">[</span>94<span class="cite-bracket">]</span></a></sup></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<div class="reflist reflist-columns references-column-width" style="column-width: 30em;">
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/WebAssembly/design/blob/376bcc4b9cba79280d79be023d71e30d0b00ba47/Semantics.md">"WebAssembly/design/Semantics.md"</a>. <i>GitHub</i><span class="reference-accessdate">. Retrieved <span class="nowrap">23 February</span> 2021</span>. <q>WebAssembly code can be considered a <i>structured stack machine</i>; a machine where most computations use a stack of values, but control flow is expressed in structured constructs such as blocks, ifs, and loops. In practice, implementations need not maintain an actual value stack, nor actual data structures for control; they need only behave as if they did so.</q></cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite id="CITEREFMozilla" class="citation web cs1">Mozilla. <a rel="nofollow" class="external text" href="https://developer.mozilla.org/en-US/docs/WebAssembly/Understanding_the_text_format">"Understanding WebAssembly text format"</a>. <i>MDN Web Docs</i><span class="reference-accessdate">. Retrieved <span class="nowrap">9 December</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://webassembly.github.io/spec/core/intro/introduction.html">"Introduction — WebAssembly 1.0"</a>. <i>webassembly.github.io</i><span class="reference-accessdate">. Retrieved <span class="nowrap">18 June</span> 2019</span>. <q>WebAssembly is an open standard...</q></cite></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://webassembly.github.io/spec/core/intro/introduction.html">"Introduction — WebAssembly 1.0"</a>. <i>webassembly.github.io</i><span class="reference-accessdate">. Retrieved <span class="nowrap">18 June</span> 2019</span>. <q>WebAssembly is a ... code format</q></cite></span>
</li>
<li id="cite_note-:0-5"><span class="mw-cite-backlink">^ <a href="#cite_ref-:0_5-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:0_5-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://webassembly.github.io/spec/core/syntax/conventions.html">"Conventions — WebAssembly 1.0"</a>. <i>webassembly.github.io</i><span class="reference-accessdate">. Retrieved <span class="nowrap">17 May</span> 2019</span>. <q>WebAssembly is a programming language that has multiple concrete representations (its binary format and the text format). Both map to a common structure.</q></cite></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://webassembly.github.io/spec/core/intro/introduction.html">"Introduction — WebAssembly 1.0"</a>. <i>webassembly.github.io</i><span class="reference-accessdate">. Retrieved <span class="nowrap">18 June</span> 2019</span>. <q>... this specification is complemented by additional documents defining interfaces to specific embedding environments such as the Web. These will each define a WebAssembly application programming interface (API) suitable for a given environment.</q></cite></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://webassembly.github.io/spec/core/intro/introduction.html">"Introduction — WebAssembly 1.1"</a>. <i>webassembly.github.io</i><span class="reference-accessdate">. Retrieved <span class="nowrap">19 February</span> 2021</span>. <q>Its main goal is to enable high performance applications on the Web, but it does not make any Web-specific assumptions or provide Web-specific features, so it can be employed in other environments as well.</q></cite></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><cite id="CITEREFHaasRossbergSchuffTitzer2017" class="citation journal cs1">Haas, Andreas; Rossberg, Andreas; Schuff, Derek L.; Titzer, Ben L.; Holman, Michael; Gohman, Dan; Wagner, Luke; Zakai, Alon; Bastien, JF (14 June 2017). <a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F3140587.3062363">"Bringing the Web Up to Speed with WebAssembly"</a>. <i>SIGPLAN Notices</i>. <b>52</b> (6): <span class="nowrap">185–</span>200. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F3140587.3062363">10.1145/3140587.3062363</a></span>. <a href="ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0362-1340">0362-1340</a>. <q>While the Web is the primary motivation for WebAssembly, nothing in its design depends on the Web or a JavaScript environment. It is an open standard specifically designed for embedding in multiple contexts, and we expect that stand-alone implementations will become available in the future.</q></cite></span>
</li>
<li id="cite_note-:1-9"><span class="mw-cite-backlink">^ <a href="#cite_ref-:1_9-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:1_9-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-:1_9-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://v8.dev/blog/emscripten-standalone-wasm#running-in-wasm-runtimes">"Outside the web: standalone WebAssembly binaries using Emscripten · V8"</a>. <i>v8.dev</i><span class="reference-accessdate">. Retrieved <span class="nowrap">28 July</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-Wasmer-10"><span class="mw-cite-backlink">^ <a href="#cite_ref-Wasmer_10-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Wasmer_10-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Wasmer_10-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://wasmer.io/">"Wasmer - The Universal WebAssembly Runtime"</a>. <i>wasmer.io</i><span class="reference-accessdate">. Retrieved <span class="nowrap">19 February</span> 2021</span>. <q>Compile everything to WebAssembly. Run it on any OS or embed it into other languages.</q></cite></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><cite id="CITEREFWorld_Wide_Web_Consortium" class="citation web cs1">World Wide Web Consortium. <a rel="nofollow" class="external text" href="https://www.w3.org/TR/wasm-core-1/">"WebAssembly Core Specification"</a>. <i>World Wide Web Consortium (W3)</i><span class="reference-accessdate">. Retrieved <span class="nowrap">9 December</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><cite id="CITEREFCouriol" class="citation web cs1">Couriol, Bruno. <a rel="nofollow" class="external text" href="https://www.infoq.com/news/2019/12/webassembly-w3c-recommendation/">"WebAssembly 1.0 Becomes a W3C Recommendation and the Fourth Language to Run Natively in Browsers"</a>. <i>infoq.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">9 December</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://webassembly.github.io/spec/core/">"WebAssembly Specification — WebAssembly 1.1"</a>. <i>webassembly.github.io</i><span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.sigplan.org/Awards/Software/">"Programming Languages Software Award"</a>. <i>www.sigplan.org</i>.</cite></span>
</li>
<li id="cite_note-ars-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-ars_15-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFBright2015" class="citation web cs1">Bright, Peter (18 June 2015). <a rel="nofollow" class="external text" href="https://arstechnica.com/information-technology/2015/06/the-web-is-getting-its-bytecode-webassembly/">"The Web is getting its bytecode: WebAssembly"</a>. <i><a href="Ars_Technica" title="Ars Technica">Ars Technica</a></i>. <a href="Cond%C3%A9_Nast" title="Condé Nast">Condé Nast</a>.</cite></span>
</li>
<li id="cite_note-bytecode-16"><span class="mw-cite-backlink">^ <a href="#cite_ref-bytecode_16-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-bytecode_16-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation news cs1"><a rel="nofollow" class="external text" href="https://blog.mozilla.org/press/2019/11/new-bytecode-alliance-brings-the-security-ubiquity-and-interoperability-of-the-web-to-the-world-of-pervasive-computing/">"New Bytecode Alliance Brings the Security, Ubiquity, and Interoperability of the Web to the World of Pervasive Computing"</a>. <i>Mozilla</i>. 12 November 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">27 May</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-Launch_bug-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-Launch_bug_17-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/WebAssembly/design/issues/150">"Launch bug"</a>. <i><a href="GitHub" title="GitHub">GitHub</a> / WebAssembly / design</i>. 11 June 2015.</cite></span>
</li>
<li id="cite_note-Unity_in_Firefox-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-Unity_in_Firefox_18-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFWagner2016" class="citation web cs1">Wagner, Luke (14 March 2016). <a rel="nofollow" class="external text" href="https://hacks.mozilla.org/2016/03/a-webassembly-milestone/">"A WebAssembly Milestone: Experimental Support in Multiple Browsers"</a>. <i>Mozilla Hacks</i>.</cite></span>
</li>
<li id="cite_note-V8_blog-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-V8_blog_19-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFThompson2016" class="citation web cs1">Thompson, Seth (15 March 2016). <a rel="nofollow" class="external text" href="https://v8project.blogspot.com/2016/03/experimental-support-for-webassembly.html">"Experimental support for WebAssembly in V8"</a>. <i>V8 Blog</i>.</cite></span>
</li>
<li id="cite_note-Edge-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-Edge_20-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFZhu2016" class="citation web cs1">Zhu, Limin (15 March 2016). <a rel="nofollow" class="external text" href="https://blogs.windows.com/msedgedev/2016/03/15/previewing-webassembly-experiments/">"Previewing WebAssembly experiments in Microsoft Edge"</a>. <i>Microsoft Edge dev blog</i>.</cite></span>
</li>
<li id="cite_note-techcrunch2015-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-techcrunch2015_21-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFLardinois2015" class="citation news cs1">Lardinois, Frederic (17 June 2015). <a rel="nofollow" class="external text" href="https://techcrunch.com/2015/06/17/google-microsoft-mozilla-and-others-team-up-to-launch-webassembly-a-new-binary-format-for-the-web/">"Google, Microsoft, Mozilla And Others Team Up To Launch WebAssembly, A New Binary Format For The Web"</a>. <i>TechCrunch</i><span class="reference-accessdate">. Retrieved <span class="nowrap">24 December</span> 2017</span>.</cite></span>
</li>
<li id="cite_note-PNaCl-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-PNaCl_22-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFAvram2017" class="citation web cs1">Avram, Abel (31 May 2017). <a rel="nofollow" class="external text" href="https://www.infoq.com/news/2017/05/pnacl-webassembly-google">"Google Is to Remove Support for PNaCl"</a>. <i>InfoQ</i><span class="reference-accessdate">. Retrieved <span class="nowrap">22 December</span> 2017</span>.</cite></span>
</li>
<li id="cite_note-initial_implementation-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-initial_implementation_23-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.2ality.com/2015/06/web-assembly.html">"WebAssembly: a binary format for the web"</a>. <i>②ality – JavaScript and more</i>. 18 June 2015.</cite></span>
</li>
<li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://blog.mozilla.org/javascript/2013/08/01/staring-at-the-sun-dalvik-vs-spidermonkey/">"Staring at the Sun: Dalvik vs. ASM.js vs. Native"</a>. <i>blog.mozilla.org</i>. August 2013<span class="reference-accessdate">. Retrieved <span class="nowrap">7 December</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-MVP-26"><span class="mw-cite-backlink">^ <a href="#cite_ref-MVP_26-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-MVP_26-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFKrill2017" class="citation news cs1">Krill, Paul (6 March 2017). <a rel="nofollow" class="external text" href="https://www.infoworld.com/article/3176681/">"WebAssembly is now ready for browsers to use"</a>. <i>InfoWorld</i><span class="reference-accessdate">. Retrieved <span class="nowrap">23 December</span> 2017</span>.</cite></span>
</li>
<li id="cite_note-W3C-WD2018-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-W3C-WD2018_27-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.w3.org/blog/news/archives/6838">"WebAssembly First Public Working Drafts"</a>. W3C. 15 February 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">20 April</span> 2018</span>.</cite></span>
</li>
<li id="cite_note-W3C-CSWD2018-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-W3C-CSWD2018_28-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.w3.org/TR/2018/WD-wasm-core-1-20180215/">"WebAssembly Core Specification"</a>. W3C. 15 February 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">20 April</span> 2018</span>.</cite></span>
</li>
<li id="cite_note-W3C-JIWD2018-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-W3C-JIWD2018_29-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.w3.org/TR/2018/WD-wasm-js-api-1-20180215/">"WebAssembly JavaScript Interface"</a>. W3C. 15 February 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">20 April</span> 2018</span>.</cite></span>
</li>
<li id="cite_note-W3C-WAWD2018-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-W3C-WAWD2018_30-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.w3.org/TR/2018/WD-wasm-web-api-1-20180215/">"WebAssembly Web API"</a>. W3C. 15 February 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">20 April</span> 2018</span>.</cite></span>
</li>
<li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://chromestatus.com/feature/5724132452859904">"WebAssembly Worker Based Threads - Chrome Platform Status"</a>. <i>chromestatus.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">19 February</span> 2022</span>.</cite></span>
</li>
<li id="cite_note-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-32">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://webassembly.github.io/spec/core/">"WebAssembly Specification — WebAssembly 2.0 (Draft 2022-09-01)"</a>. <i>webassembly.github.io</i><span class="reference-accessdate">. Retrieved <span class="nowrap">9 September</span> 2022</span>.</cite></span>
</li>
<li id="cite_note-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-33">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.w3.org/blog/news/archives/9509">"WebAssembly 2.0 First Public Working Drafts | W3C News"</a>. 19 April 2022<span class="reference-accessdate">. Retrieved <span class="nowrap">9 September</span> 2022</span>.</cite></span>
</li>
<li id="cite_note-nonweb-34"><span class="mw-cite-backlink"><b><a href="#cite_ref-nonweb_34-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://webassembly.org/docs/non-web/">"Non-Web Embeddings"</a>. <i>WebAssembly</i><span class="reference-accessdate">. Retrieved <span class="nowrap">15 May</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-nonwebsrc-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-nonwebsrc_35-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/WebAssembly/design/blob/master/NonWeb.md">"Non-Web Embeddings"</a>. <i><a href="GitHub" title="GitHub">GitHub</a> / WebAssembly</i><span class="reference-accessdate">. Retrieved <span class="nowrap">15 May</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-36">^</a></b></span> <span class="reference-text"><cite id="CITEREFFreese2023" class="citation web cs1">Freese, Danny (October 3, 2023). <a rel="nofollow" class="external text" href="https://konghq.com/blog/engineering/proxy-wasm">"Proxy-Wasm: It's WebAssembly for Proxies"</a>. Blog. <i><a href="Kong_Inc." title="Kong Inc.">Kong</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">2024-05-06</span></span>.</cite></span>
</li>
<li id="cite_note-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-37">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/proxy-wasm/spec">"proxy-wasm/spec: WebAssembly for Proxies (ABI specification)"</a>. <i><a href="GitHub" title="GitHub">GitHub</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">6 May</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-in_browsers-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-in_browsers_38-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://blog.mozilla.org/blog/2017/11/13/webassembly-in-browsers/">"WebAssembly support now shipping in all major browsers"</a>. <i>The Mozilla Blog</i><span class="reference-accessdate">. Retrieved <span class="nowrap">21 November</span> 2017</span>.</cite></span>
</li>
<li id="cite_note-Edge16-39"><span class="mw-cite-backlink"><b><a href="#cite_ref-Edge16_39-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://blogs.windows.com/msedgedev/2017/10/31/optimizations-webassembly-sharedarraybuffer-atomics-edgehtml-16/">"Introducing new JavaScript optimizations, WebAssembly, SharedArrayBuffer, and Atomics in EdgeHTML 16"</a>. <i>Microsoft Edge Dev Blog</i>. 31 October 2017<span class="reference-accessdate">. Retrieved <span class="nowrap">21 November</span> 2017</span>.</cite></span>
</li>
<li id="cite_note-canIuse.com-40"><span class="mw-cite-backlink"><b><a href="#cite_ref-canIuse.com_40-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://caniuse.com/wasm">"WebAssembly | Can I use... Support tables for HTML5, CSS3, etc"</a>. <i>canIuse.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">1 March</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-41"><span class="mw-cite-backlink"><b><a href="#cite_ref-41">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://caniuse.com/asmjs">"asm.js | Can I use... Support tables for HTML5, CSS3, etc"</a>. <i>caniuse.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">29 September</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-42"><span class="mw-cite-backlink"><b><a href="#cite_ref-42">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://caniuse.com/wasm-reference-types">"WebAssembly Reference Types | Can I use... Support tables for HTML5, CSS3, etc"</a>. <i>caniuse.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">3 March</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-43"><span class="mw-cite-backlink"><b><a href="#cite_ref-43">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://wasmtime.dev/">"Wasmtime — a small and efficient runtime for WebAssembly & WASI"</a>. <i>wasmtime.dev</i><span class="reference-accessdate">. Retrieved <span class="nowrap">18 December</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-44"><span class="mw-cite-backlink"><b><a href="#cite_ref-44">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://webassembly.org/roadmap/">"Roadmap"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">7 December</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-AcceleratingWeb-45"><span class="mw-cite-backlink"><b><a href="#cite_ref-AcceleratingWeb_45-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFBall2018" class="citation web cs1">Ball, Kevin (26 June 2018). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190212141715/https://zendev.com/2018/06/26/webassembly-accelerating-future-web-development.html">"How WebAssembly is Accelerating the Future of Web Development"</a>. Archived from <a rel="nofollow" class="external text" href="https://zendev.com/2018/06/26/webassembly-accelerating-future-web-development.html">the original</a> on 12 February 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">22 October</span> 2018</span>.</cite></span>
</li>
<li id="cite_note-Implementations-46"><span class="mw-cite-backlink">^ <a href="#cite_ref-Implementations_46-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Implementations_46-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/appcypher/awesome-wasm-langs">"Awesome WebAssembly Languages"</a>. <i><a href="GitHub" title="GitHub">GitHub</a></i>. 26 June 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">15 February</span> 2022</span>.</cite></span>
</li>
<li id="cite_note-47"><span class="mw-cite-backlink"><b><a href="#cite_ref-47">^</a></b></span> <span class="reference-text"><cite id="CITEREFZakai2019" class="citation web cs1">Zakai, Alon [@kripken] (21 October 2019). <a rel="nofollow" class="external text" href="https://x.com/kripken/status/1186407352880074752">"Emscripten has switched to the upstream LLVM wasm backend by default! / Details:https://groups.google.com/forum/#!topic/emscripten-discuss/NpxVAOirSl4"</a> (<a href="Tweet_(social_media)" title="Tweet (social media)">Tweet</a>)<span class="reference-accessdate">. Retrieved <span class="nowrap">22 October</span> 2019</span> – via <a href="Twitter" title="Twitter">Twitter</a>.</cite></span>
</li>
<li id="cite_note-48"><span class="mw-cite-backlink"><b><a href="#cite_ref-48">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://webassembly.org/getting-started/developers-guide/">"Developer's Guide - WebAssembly"</a>. <i>webassembly.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">10 June</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-49"><span class="mw-cite-backlink"><b><a href="#cite_ref-49">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://developer.mozilla.org/en-US/docs/WebAssembly/C_to_wasm">"Compiling a New C/C++ Module to WebAssembly"</a>. <i>MDN Web Docs</i><span class="reference-accessdate">. Retrieved <span class="nowrap">10 June</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-50"><span class="mw-cite-backlink"><b><a href="#cite_ref-50">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://emscripten.org/docs/compiling/WebAssembly.html">"Building to WebAssembly — Emscripten 1.38.33 documentation"</a>. <i>emscripten.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">10 June</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-51"><span class="mw-cite-backlink"><b><a href="#cite_ref-51">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://developers.google.com/web/updates/2018/03/emscripting-a-c-library">"Emscripting a C library to Wasm | Web"</a>. <i>Google Developers</i><span class="reference-accessdate">. Retrieved <span class="nowrap">10 June</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-53"><span class="mw-cite-backlink"><b><a href="#cite_ref-53">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://releases.llvm.org/8.0.0/docs/ReleaseNotes.html#changes-to-the-webassembly-target">"LLVM 8.0.0 Release Notes — LLVM 8 documentation"</a>. <i>releases.llvm.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">22 October</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-github.com-54"><span class="mw-cite-backlink">^ <a href="#cite_ref-github.com_54-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-github.com_54-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/WebAssembly/design/blob/main/HighLevelGoals.md">"WebAssembly High-Level Goals"</a>. <i><a href="GitHub" title="GitHub">GitHub</a> / WebAssembly / design</i>. 11 December 2015.</cite></span>
</li>
<li id="cite_note-Rust-55"><span class="mw-cite-backlink"><b><a href="#cite_ref-Rust_55-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFKrill2017" class="citation news cs1">Krill, Paul (29 November 2017). <a rel="nofollow" class="external text" href="https://www.infoworld.com/article/3239129/">"Direct WebAssembly compilation comes to Rust language"</a>. <i>InfoWorld</i><span class="reference-accessdate">. Retrieved <span class="nowrap">24 December</span> 2017</span>.</cite></span>
</li>
<li id="cite_note-56"><span class="mw-cite-backlink"><b><a href="#cite_ref-56">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://blazor.net/docs/introduction/faq.html">"Frequently asked questions (FAQ) about Blazor"</a>. <i>blazor.net</i><span class="reference-accessdate">. Retrieved <span class="nowrap">18 June</span> 2018</span>.</cite></span>
</li>
<li id="cite_note-57"><span class="mw-cite-backlink"><b><a href="#cite_ref-57">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/AssemblyScript/assemblyscript">"AssemblyScript/assemblyscript"</a>. The AssemblyScript Project. 9 September 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">9 September</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-58"><span class="mw-cite-backlink"><b><a href="#cite_ref-58">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://developer.chrome.com/blog/wasmgc">"WebAssembly Garbage Collection (WasmGC) now enabled by default in Chrome | Blog"</a>. <i>Chrome for Developers</i><span class="reference-accessdate">. Retrieved <span class="nowrap">11 December</span> 2023</span>.</cite></span>
</li>
<li id="cite_note-59"><span class="mw-cite-backlink"><b><a href="#cite_ref-59">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://fsbolero.io/">"Bolero: F# in WebAssembly"</a>. <i>fsbolero.io</i><span class="reference-accessdate">. Retrieved <span class="nowrap">25 July</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-60"><span class="mw-cite-backlink"><b><a href="#cite_ref-60">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://v8.dev/blog/wasm-gc-porting#demo-and-status">"A new way to bring garbage collected programming languages efficiently to WebAssembly · V8"</a>. <i>v8.dev</i><span class="reference-accessdate">. Retrieved <span class="nowrap">11 December</span> 2023</span>.</cite></span>
</li>
<li id="cite_note-61"><span class="mw-cite-backlink"><b><a href="#cite_ref-61">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://ghc.gitlab.haskell.org/ghc/doc/users_guide/wasm.html">"Using the GHC WebAssembly backend"</a>. <i>GHC User's Guide</i><span class="reference-accessdate">. Retrieved <span class="nowrap">1 May</span> 2025</span>.</cite></span>
</li>
<li id="cite_note-62"><span class="mw-cite-backlink"><b><a href="#cite_ref-62">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://hacks.mozilla.org/2019/04/pyodide-bringing-the-scientific-python-stack-to-the-browser">"Pyodide: Bringing the scientific Python stack to the browser – Mozilla Hacks - the Web developer blog"</a>. <i>Mozilla Hacks – the Web developer blog</i><span class="reference-accessdate">. Retrieved <span class="nowrap">9 September</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-63"><span class="mw-cite-backlink"><b><a href="#cite_ref-63">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://nextjournal.com/sdanisch/wasm-julia">"Julia in the Browser"</a>. <i>nextjournal.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">9 April</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-64"><span class="mw-cite-backlink"><b><a href="#cite_ref-64">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/JuliaPackaging/Yggdrasil/pull/2">"WebAssembly platform by tshort · Pull Request #2 · JuliaPackaging/Yggdrasil"</a>. <i>GitHub</i><span class="reference-accessdate">. Retrieved <span class="nowrap">9 April</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-65"><span class="mw-cite-backlink"><b><a href="#cite_ref-65">^</a></b></span> <span class="reference-text"><cite id="CITEREFFischer2019" class="citation web cs1">Fischer, Keno (22 July 2019). <a rel="nofollow" class="external text" href="https://github.com/Keno/julia-wasm">"GitHub - Keno/julia-wasm: Running julia on wasm"</a>. <i><a href="GitHub" title="GitHub">GitHub</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">25 July</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-66"><span class="mw-cite-backlink"><b><a href="#cite_ref-66">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://ruby.dj/">"MRuby in Your Browser"</a>. <i>ruby.dj</i><span class="reference-accessdate">. Retrieved <span class="nowrap">25 July</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-InfoWorld-67"><span class="mw-cite-backlink"><b><a href="#cite_ref-InfoWorld_67-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFPaul_Krill2020" class="citation web cs1">Paul Krill (24 August 2020). <a rel="nofollow" class="external text" href="https://www.infoworld.com/article/3572395/ring-language-upgrade-focuses-on-webassembly.html">"Ring language upgrade focuses on WebAssembly"</a>. <a href="InfoWorld" title="InfoWorld">InfoWorld</a>.</cite></span>
</li>
<li id="cite_note-68"><span class="mw-cite-backlink"><b><a href="#cite_ref-68">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://ring-lang.github.io/web/tryringonline/project.html">"Ring in web browser"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">17 August</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-69"><span class="mw-cite-backlink"><b><a href="#cite_ref-69">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://leaningtech.com/cheerpj/">"Java to WebAssembly Compiler - CheerpJ"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">27 April</span> 2023</span>.</cite></span>
</li>
<li id="cite_note-70"><span class="mw-cite-backlink"><b><a href="#cite_ref-70">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/i-net-software/JWebAssembly">"JWebAssembly"</a>. 27 April 2023 – via GitHub.</cite></span>
</li>
<li id="cite_note-71"><span class="mw-cite-backlink"><b><a href="#cite_ref-71">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.teavm.org/docs/intro/overview.html">"TeaVM — Overview"</a>. <i>www.teavm.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">27 April</span> 2023</span>.</cite></span>
</li>
<li id="cite_note-72"><span class="mw-cite-backlink"><b><a href="#cite_ref-72">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://developers.googleblog.com/2023/05/bringing-kotlin-to-web.html">"Bringing Kotlin to the Web"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">11 December</span> 2023</span>.</cite></span>
</li>
<li id="cite_note-73"><span class="mw-cite-backlink"><b><a href="#cite_ref-73">^</a></b></span> <span class="reference-text"><cite id="CITEREFDeleuze2023" class="citation web cs1">Deleuze, Sébastien (13 February 2023). <a rel="nofollow" class="external text" href="https://seb.deleuze.fr/the-huge-potential-of-kotlin-wasm/">"The huge potential of Kotlin/Wasm"</a>. <i>seb.deleuze.fr</i><span class="reference-accessdate">. Retrieved <span class="nowrap">11 December</span> 2023</span>.</cite></span>
</li>
<li id="cite_note-74"><span class="mw-cite-backlink"><b><a href="#cite_ref-74">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.rs/stdweb/*/stdweb/">"stdweb - Rust"</a>. <i>docs.rs</i><span class="reference-accessdate">. Retrieved <span class="nowrap">5 June</span> 2019</span>. <q>The goal of this crate is to provide Rust bindings to the Web APIs and to allow a high degree of interoperability between Rust and JavaScript.</q></cite></span>
</li>
<li id="cite_note-75"><span class="mw-cite-backlink"><b><a href="#cite_ref-75">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.rs/web-sys/*/web_sys/">"web_sys - Rust"</a>. <i>docs.rs</i><span class="reference-accessdate">. Retrieved <span class="nowrap">5 June</span> 2019</span>. <q>Raw API bindings for Web APIs. This is a procedurally generated crate from browser WebIDL which provides a binding to all APIs that browser provide on the web.</q></cite></span>
</li>
<li id="cite_note-77"><span class="mw-cite-backlink"><b><a href="#cite_ref-77">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://blog.scottlogic.com/2023/10/18/the-state-of-webassembly-2023.html">"The State of WebAssembly 2023"</a>. Scott Logic. 18 October 2023<span class="reference-accessdate">. Retrieved <span class="nowrap">14 March</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-78"><span class="mw-cite-backlink"><b><a href="#cite_ref-78">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/WebAssembly/design/issues/1397">"Wasm needs a better memory management story · Issue #1397 · WebAssembly/design"</a>. <i>GitHub</i><span class="reference-accessdate">. Retrieved <span class="nowrap">15 February</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-79"><span class="mw-cite-backlink"><b><a href="#cite_ref-79">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/WebAssembly/content-security-policy">"WebAssembly/content-security-policy"</a>. <i>GitHub</i><span class="reference-accessdate">. Retrieved <span class="nowrap">17 February</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-80"><span class="mw-cite-backlink"><b><a href="#cite_ref-80">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://bugs.chromium.org/p/chromium/issues/detail?id=948834&can=1&q=wasm-eval">"948834 - chromium - An open-source project to help move the web forward. - Monorail"</a>. <i>bugs.chromium.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">17 February</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-ReferenceA-81"><span class="mw-cite-backlink">^ <a href="#cite_ref-ReferenceA_81-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-ReferenceA_81-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/WebAssembly/content-security-policy/issues/7">"No way to use WebAssembly on Chrome without 'unsafe-eval' · Issue #7 · WebAssembly/content-security-policy"</a>. <i>GitHub</i><span class="reference-accessdate">. Retrieved <span class="nowrap">17 February</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-forcepoint-82"><span class="mw-cite-backlink">^ <a href="#cite_ref-forcepoint_82-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-forcepoint_82-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-forcepoint_82-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFNeumannToro2018" class="citation web cs1">Neumann, Robert; Toro, Abel (19 April 2018). <a rel="nofollow" class="external text" href="https://www.forcepoint.com/blog/x-labs/browser-mining-coinhive-and-webassembly">"In-browser mining: Coinhive and WebAssembly"</a>. Forcepoint<span class="reference-accessdate">. Retrieved <span class="nowrap">8 June</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-bleeping_computer-83"><span class="mw-cite-backlink"><b><a href="#cite_ref-bleeping_computer_83-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFCimpanu2018" class="citation web cs1">Cimpanu, Catalin (24 June 2018). <a rel="nofollow" class="external text" href="https://www.bleepingcomputer.com/news/security/changes-in-webassembly-could-render-meltdown-and-spectre-browser-patches-useless/">"Changes in WebAssembly Could Render Meltdown and Spectre Browser Patches Useless"</a>. <a href="Bleeping_Computer" title="Bleeping Computer">Bleeping Computer</a><span class="reference-accessdate">. Retrieved <span class="nowrap">8 June</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-tech_republic-84"><span class="mw-cite-backlink"><b><a href="#cite_ref-tech_republic_84-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFSanders2018" class="citation web cs1">Sanders, James (25 June 2018). <a rel="nofollow" class="external text" href="https://www.techrepublic.com/article/how-opaque-webassembly-code-could-increase-the-risk-of-spectre-attacks-online/">"How opaque WebAssembly code could increase the risk of Spectre attacks online"</a>. <i><a href="Tech_Republic" class="mw-redirect" title="Tech Republic">Tech Republic</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">9 June</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-85"><span class="mw-cite-backlink"><b><a href="#cite_ref-85">^</a></b></span> <span class="reference-text"><cite id="CITEREFR2018" class="citation web cs1">R, Bhagyashree (30 October 2018). <a rel="nofollow" class="external text" href="https://hub.packtpub.com/google-chrome-70-now-supports-webassembly-threads-to-build-multi-threaded-web-applications/">"Google Chrome 70 now supports WebAssembly threads to build multi-threaded web applications"</a>. <i><a href="Packt" title="Packt">Packt Pub</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">9 June</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-virus_bulletin-86"><span class="mw-cite-backlink">^ <a href="#cite_ref-virus_bulletin_86-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-virus_bulletin_86-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFLonkarChandrayan2018" class="citation web cs1">Lonkar, Aishwarya; Chandrayan, Siddhesh (October 2018). <a rel="nofollow" class="external text" href="https://www.virusbulletin.com/virusbulletin/2018/10/dark-side-webassembly/">"The dark side of WebAssembly"</a>. <i><a href="Virus_Bulletin" title="Virus Bulletin">Virus Bulletin</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">8 June</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-malwarebytes-87"><span class="mw-cite-backlink"><b><a href="#cite_ref-malwarebytes_87-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFSegura2017" class="citation web cs1">Segura, Jérôme (29 November 2017). <a rel="nofollow" class="external text" href="https://blog.malwarebytes.com/cybercrime/2017/11/persistent-drive-by-cryptomining-coming-to-a-browser-near-you/">"Persistent drive-by cryptomining coming to a browser near you"</a>. <a href="Malwarebytes" title="Malwarebytes">Malwarebytes</a><span class="reference-accessdate">. Retrieved <span class="nowrap">8 June</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-88"><span class="mw-cite-backlink"><b><a href="#cite_ref-88">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.infoq.com/news/2019/10/WebAssembly-wasm-malicious-usage/">"Recent Study Estimates That 50% of Websites Using WebAssembly Apply It for Malicious Purposes"</a>. <i>InfoQ</i><span class="reference-accessdate">. Retrieved <span class="nowrap">3 November</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-89"><span class="mw-cite-backlink"><b><a href="#cite_ref-89">^</a></b></span> <span class="reference-text"><cite id="CITEREFMuschWressneggerJohnsRieck2019" class="citation book cs1">Musch, Marius; Wressnegger, Christian; Johns, Martin; Rieck, Konrad (June 2019). "New Kid on the Web: A Study on the Prevalence of WebAssembly in the Wild". <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220726131621/https://www.sec.cs.tu-bs.de/pubs/2019a-dimva.pdf"><i>Detection of Intrusions and Malware, and Vulnerability Assessment</i></a> <span class="cs1-format">(PDF)</span>. Lecture Notes in Computer Science. Vol. 11543. <a href="Detection_of_Intrusions_and_Malware%2C_and_Vulnerability_Assessment" title="Detection of Intrusions and Malware, and Vulnerability Assessment">Detection of Intrusions and Malware, and Vulnerability Assessment</a>. pp. <span class="nowrap">23–</span>42. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-030-22038-9_2">10.1007/978-3-030-22038-9_2</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-3-030-22037-2</bdi>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:184482682">184482682</a>. Archived from <a rel="nofollow" class="external text" href="https://www.sec.cs.tu-bs.de/pubs/2019a-dimva.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 26 July 2022<span class="reference-accessdate">. Retrieved <span class="nowrap">15 February</span> 2022</span>.</cite> <a rel="nofollow" class="external text" href="https://www.dimva2019.org/wp-content/uploads/sites/31/2019/06/DIMVA19-slides-2-R.pdf">Slides (PDF)</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20191103054140/https://www.dimva2019.org/wp-content/uploads/sites/31/2019/06/DIMVA19-slides-2-R.pdf">Archived</a> 3 November 2019 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a></span>
</li>
<li id="cite_note-90"><span class="mw-cite-backlink"><b><a href="#cite_ref-90">^</a></b></span> <span class="reference-text">Aaron Hilbig, Daniel Lehmann, and Michael Pradel (April 2021). "An Empirical Study of Real-World WebAssembly Binaries: Security, Languages, Use Cases." (Archived April 2021) <a rel="nofollow" class="external free" href="https://software-lab.org/publications/www2021.pdf">https://software-lab.org/publications/www2021.pdf</a></span>
</li>
<li id="cite_note-91"><span class="mw-cite-backlink"><b><a href="#cite_ref-91">^</a></b></span> <span class="reference-text"><cite id="CITEREFWatt2018" class="citation book cs1">Watt, Conrad (8 January 2018). <a rel="nofollow" class="external text" href="https://dl.acm.org/doi/10.1145/3167082">"Mechanising and verifying the WebAssembly specification"</a>. <a rel="nofollow" class="external text" href="https://www.repository.cam.ac.uk/handle/1810/274174"><i>Proceedings of the 7th ACM SIGPLAN International Conference on Certified Programs and Proofs</i></a>. CPP 2018. Los Angeles CA USA: ACM. pp. <span class="nowrap">53–</span>65. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F3167082">10.1145/3167082</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-1-4503-5586-5</bdi>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:9401691">9401691</a>.</cite></span>
</li>
<li id="cite_note-92"><span class="mw-cite-backlink"><b><a href="#cite_ref-92">^</a></b></span> <span class="reference-text"><cite id="CITEREFJangdaPowersBergerGuha2019" class="citation conference cs1">Jangda, Abhinav; Powers, Bobby; Berger, Emery; Guha, Arjun (31 May 2019). <a rel="nofollow" class="external text" href="https://www.usenix.org/sites/default/files/atc19-full-proceedings.pdf"><i>Not So Fast: Analyzing the Performance of WebAssembly vs. Native Code</i></a> <span class="cs1-format">(PDF)</span>. 2019 USENIX Annual Technical Conference. Renton, WA. pp. <span class="nowrap">107–</span>120. <a href="ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/1901.09056v3">1901.09056v3</a></span>. <a href="OCLC_(identifier)" class="mw-redirect" title="OCLC (identifier)">OCLC</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/oclc/1106328738">1106328738</a><span class="reference-accessdate">. Retrieved <span class="nowrap">20 March</span> 2025</span>.</cite></span>
</li>
<li id="cite_note-93"><span class="mw-cite-backlink"><b><a href="#cite_ref-93">^</a></b></span> <span class="reference-text"><cite id="CITEREFDenis" class="citation web cs1">Denis, Frank. <a rel="nofollow" class="external text" href="https://00f.net/2023/01/04/webassembly-benchmark-2023/">"Performance of WebAssembly runtimes in 2023"</a>. <i>00f.net</i><span class="reference-accessdate">. Retrieved <span class="nowrap">6 December</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-94"><span class="mw-cite-backlink"><b><a href="#cite_ref-94">^</a></b></span> <span class="reference-text"><cite id="CITEREFDe_MacedoAbreuPereiraSaraiva2022" class="citation book cs1">De Macedo, Joao; Abreu, Rui; Pereira, Rui; Saraiva, Joao (June 2022). "WebAssembly versus JavaScript: Energy and Runtime Performance". <i>2022 International Conference on ICT for Sustainability (ICT4S)</i>. pp. <span class="nowrap">24–</span>34. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FICT4S55073.2022.00014">10.1109/ICT4S55073.2022.00014</a>. <a href="Hdl_(identifier)" class="mw-redirect" title="Hdl (identifier)">hdl</a>:<a rel="nofollow" class="external text" href="https://hdl.handle.net/1822%2F90291">1822/90291</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-1-6654-8286-8</bdi>.</cite></span>
</li>
<li id="cite_note-95"><span class="mw-cite-backlink"><b><a href="#cite_ref-95">^</a></b></span> <span class="reference-text"><cite id="CITEREFTurner" class="citation web cs1">Turner, Aaron. <a rel="nofollow" class="external text" href="https://medium.com/@torch2424/webassembly-is-fast-a-real-world-benchmark-of-webassembly-vs-es6-d85a23f8e193">"WebAssembly Is Fast: A Real-World Benchmark of WebAssembly vs. ES6"</a>.</cite></span>
</li>
<li id="cite_note-97"><span class="mw-cite-backlink"><b><a href="#cite_ref-97">^</a></b></span> <span class="reference-text"><cite id="CITEREFYanTuZhaoZhou2021" class="citation book cs1">Yan, Yutian; Tu, Tengfei; Zhao, Lijian; Zhou, Yuchen; Wang, Weihang (2 November 2021). <a rel="nofollow" class="external text" href="https://weihang-wang.github.io/slides/Yan-IMC21.pptx">"Understanding the performance of webassembly applications"</a>. <i>Proceedings of the 21st ACM Internet Measurement Conference</i>. pp. <span class="nowrap">533–</span>549. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F3487552.3487827">10.1145/3487552.3487827</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-1-4503-9129-0</bdi>.</cite></span>
</li>
<li id="cite_note-98"><span class="mw-cite-backlink"><b><a href="#cite_ref-98">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://webassembly.github.io/spec/web-api/index.html#security-considerations">"WebAssembly Web API"</a>. <i>webassembly.github.io</i>.</cite></span>
</li>
<li id="cite_note-100"><span class="mw-cite-backlink"><b><a href="#cite_ref-100">^</a></b></span> <span class="reference-text"><cite id="CITEREFKambale" class="citation web cs1">Kambale, Enoch. <a rel="nofollow" class="external text" href="https://blog.enkambale.com/webassembly-2024-state-of-wasm/">"WebAssembly in 2024: Promises, Challenges, and the Road Ahead"</a>. <i>blog.enkambale.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">6 December</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-WASI-101"><span class="mw-cite-backlink"><b><a href="#cite_ref-WASI_101-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/WebAssembly/WASI">"WebAssembly System Interface Repo"</a>. <i><a href="GitHub" title="GitHub">GitHub</a> / WebAssembly</i>. 10 February 2020.</cite></span>
</li>
<li id="cite_note-102"><span class="mw-cite-backlink"><b><a href="#cite_ref-102">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/bytecodealliance/wasmtime/blob/master/docs/WASI-capabilities.md">"Additional background on Capabilities"</a>. <i>GitHub</i>. bytecodealliance. 4 March 2022.</cite></span>
</li>
<li id="cite_note-103"><span class="mw-cite-backlink"><b><a href="#cite_ref-103">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://hacks.mozilla.org/2019/03/standardizing-wasi-a-webassembly-system-interface/">"Standardizing WASI: A system interface to run WebAssembly outside the web – Mozilla Hacks - the Web developer blog"</a>. <i>Mozilla Hacks – the Web developer blog</i>.</cite></span>
</li>
<li id="cite_note-reference-sysroot-104"><span class="mw-cite-backlink"><b><a href="#cite_ref-reference-sysroot_104-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/WebAssembly/reference-sysroot">"reference-sysroot Repo"</a>. <i><a href="GitHub" title="GitHub">GitHub</a> / WebAssembly</i>. 12 January 2020.</cite></span>
</li>
<li id="cite_note-wasm-c-api-105"><span class="mw-cite-backlink"><b><a href="#cite_ref-wasm-c-api_105-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/WebAssembly/wasm-c-api">"wasm-c-api Repo"</a>. <i><a href="GitHub" title="GitHub">GitHub</a> / WebAssembly</i>. 3 February 2020.</cite></span>
</li>
<li id="cite_note-106"><span class="mw-cite-backlink"><b><a href="#cite_ref-106">^</a></b></span> <span class="reference-text"><cite class="citation cs2"><a rel="nofollow" class="external text" href="https://github.com/NuxiNL/cloudlibc"><i>NuxiNL/cloudlibc</i></a>, Nuxi, 6 December 2024<span class="reference-accessdate">, retrieved <span class="nowrap">1 April</span> 2025</span></cite></span>
</li>
<li id="cite_note-107"><span class="mw-cite-backlink"><b><a href="#cite_ref-107">^</a></b></span> <span class="reference-text"><cite id="CITEREFHykes2019" class="citation web cs1">Hykes, Solomon (27 March 2019). <a rel="nofollow" class="external text" href="https://x.com/solomonstre/status/1111004913222324225">"Solomon Hykes on X"</a>. <i><a href="Twitter" title="Twitter">Twitter</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">29 September</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-stack_machine-108"><span class="mw-cite-backlink"><b><a href="#cite_ref-stack_machine_108-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/WebAssembly/design/blob/main/Rationale.md#why-a-stack-machine">"Design Rationale"</a>. <i><a href="GitHub" title="GitHub">GitHub</a> / WebAssembly / design</i>. 1 October 2016.</cite></span>
</li>
<li id="cite_note-109"><span class="mw-cite-backlink"><b><a href="#cite_ref-109">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://webassembly.org/docs/portability/#assumptions-for-efficient-execution">"Portability - WebAssembly"</a>. <i>webassembly.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">28 July</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-110"><span class="mw-cite-backlink"><b><a href="#cite_ref-110">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://webassembly.github.io/spec/core/syntax/conventions.html">"Conventions — WebAssembly 1.0"</a>. <i>webassembly.github.io</i><span class="reference-accessdate">. Retrieved <span class="nowrap">12 November</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-111"><span class="mw-cite-backlink"><b><a href="#cite_ref-111">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://webassembly.github.io/spec/core/intro/introduction.html?highlight=isa#scope">"Introduction — WebAssembly 1.0"</a>. <i>webassembly.github.io</i><span class="reference-accessdate">. Retrieved <span class="nowrap">17 May</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-112"><span class="mw-cite-backlink"><b><a href="#cite_ref-112">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://webassembly.github.io/spec/core/syntax/instructions.html">"Instructions — WebAssembly 1.0"</a>. <i>webassembly.github.io</i><span class="reference-accessdate">. Retrieved <span class="nowrap">12 November</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-113"><span class="mw-cite-backlink"><b><a href="#cite_ref-113">^</a></b></span> <span class="reference-text">
<cite id="CITEREFLively2021" class="citation web cs1">Lively, Thomas (19 February 2021) [Pull Request opened on 2021-02-05]. <a rel="nofollow" class="external text" href="https://github.com/WebAssembly/simd/pull/452">"Final opcodes by tlively · Pull Request #452 · WebAssembly/simd · GitHub"</a>. Bytecode Alliance<span class="reference-accessdate">. Retrieved <span class="nowrap">12 May</span> 2021</span> – via <a href="GitHub" title="GitHub">GitHub</a>.</cite></span>
</li>
<li id="cite_note-114"><span class="mw-cite-backlink"><b><a href="#cite_ref-114">^</a></b></span> <span class="reference-text">
<cite id="CITEREFDelendik2021" class="citation web cs1">Delendik, Yury (19 February 2021) [SIMD changes committed on 2021-02-19]. <a rel="nofollow" class="external text" href="https://github.com/bytecodealliance/wasm-tools/blob/b5c3d98e40590512a3b12470ef358d5c7b983b15/crates/wast/src/ast/expr.rs">"File wasm-tools/expr.rs at b5c3d98e40590512a3b12470ef358d5c7b983b15 · bytecodealliance/wasm-tools · GitHub"</a>. Bytecode Alliance<span class="reference-accessdate">. Retrieved <span class="nowrap">12 May</span> 2021</span> – via <a href="GitHub" title="GitHub">GitHub</a>.</cite></span>
</li>
<li id="cite_note-115"><span class="mw-cite-backlink"><b><a href="#cite_ref-115">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/WebAssembly/simd/pull/486">"Update interpreter and text with finalized opcodes by ngzhian · Pull Request #486 · WebAssembly/simd"</a>. <i>GitHub</i><span class="reference-accessdate">. Retrieved <span class="nowrap">14 May</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-116"><span class="mw-cite-backlink"><b><a href="#cite_ref-116">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/WebAssembly/simd">"WebAssembly/simd"</a>. <i>GitHub</i><span class="reference-accessdate">. Retrieved <span class="nowrap">14 May</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-117"><span class="mw-cite-backlink"><b><a href="#cite_ref-117">^</a></b></span> <span class="reference-text"><cite class="citation cs2"><a rel="nofollow" class="external text" href="https://github.com/WebAssembly/relaxed-simd"><i>WebAssembly/relaxed-simd</i></a>, WebAssembly, 3 May 2021<span class="reference-accessdate">, retrieved <span class="nowrap">14 May</span> 2021</span></cite></span>
</li>
<li id="cite_note-118"><span class="mw-cite-backlink"><b><a href="#cite_ref-118">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://astojanov.github.io/blog/2017/12/20/scala-simd.html">"How we made the JVM 40x faster"</a>. <i>astojanov.github.io</i><span class="reference-accessdate">. Retrieved <span class="nowrap">17 February</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-Roadmap-119"><span class="mw-cite-backlink"><b><a href="#cite_ref-Roadmap_119-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://webassembly.org/roadmap/">"Roadmap"</a>. <i>WebAssembly</i>. March 2017.</cite></span>
</li>
<li id="cite_note-wasmint-120"><span class="mw-cite-backlink"><b><a href="#cite_ref-wasmint_120-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFWebAssembly_Community_Group2020" class="citation web cs1">WebAssembly Community Group (January 2020). <a rel="nofollow" class="external text" href="https://webassembly.github.io/spec/core/binary/values.html#integers">"WebAssembly Specification Release 1.0"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">13 January</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-Folded_Instructions-121"><span class="mw-cite-backlink"><b><a href="#cite_ref-Folded_Instructions_121-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://webassembly.github.io/spec/core/text/instructions.html#folded-instructions">"Folded instructions"</a>. <i><a href="GitHub" title="GitHub">GitHub</a></i>.</cite> / WebAssembly / spec</span>
</li>
<li id="cite_note-122"><span class="mw-cite-backlink"><b><a href="#cite_ref-122">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://webassembly.github.io/spec/core/syntax/modules.html">"Modules (Binary)"</a>. <i>WebAssembly 1.0</i>.</cite></span>
</li>
<li id="cite_note-123"><span class="mw-cite-backlink"><b><a href="#cite_ref-123">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://webassembly.github.io/wabt/demo/">"WebAssembly Binary Toolkit (wabt) demos"</a>. <i>webassembly.github.io</i>.</cite></span>
</li>
</ol></div>
<p><span class="noviewer" typeof="mw:File"></span> This article incorporates text from a <a href="Free_content" title="Free content">free content</a> work. Licensed under Apache License 2.0 (<a rel="nofollow" class="external text" href="https://github.com/WebAssembly/design/blob/main/LICENSE">license statement/permission</a>). Text taken from <a rel="nofollow" class="external text" href="https://github.com/WebAssembly/design/blob/main/TextFormat.md"><i>Text Format​</i></a>, jfbastien; rossberg-chromium; kripken; titzer; s3ththompson; sunfishcode; lukewagner; flagxor; enricobacis; c3d; binji; andrewosh, GitHub. WebAssembly/design.
</p>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1290876196">
/* start https://en.wikipedia.org/ */
.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:var(--background-color-interactive-subtle,#f8f9fa);display:flow-root}.mw-parser-output .infobox .side-box{font-size:100%}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1;min-width:0}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1250146164">
/* start https://en.wikipedia.org/ */
.mw-parser-output .sister-box .side-box-abovebelow{padding:0.75em 0;text-align:center}.mw-parser-output .sister-box .side-box-abovebelow>b{display:block}.mw-parser-output .sister-box .side-box-text>ul{border-top:1px solid #aaa;padding:0.75em 0;width:217px;margin:0 auto}.mw-parser-output .sister-box .side-box-text>ul>li{min-height:31px}.mw-parser-output .sister-logo{display:inline-block;width:31px;line-height:31px;vertical-align:middle;text-align:center}.mw-parser-output .sister-link{display:inline-block;margin-left:4px;width:182px;vertical-align:middle}@media print{body.ns-0 .mw-parser-output .sistersitebox{display:none!important}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-v2.svg"]{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-v2.svg"]{background-color:white}}
/* end https://en.wikipedia.org/ */
</style>
<ul><li><span class="official-website"><span class="url"><a rel="nofollow" class="external text" href="https://webassembly.org/">Official website</a></span></span> </li>
<li><a rel="nofollow" class="external text" href="https://github.com/WebAssembly">WebAssembly</a> on <a href="GitHub" title="GitHub">GitHub</a>, hosts Design Documents</li>
<li><a rel="nofollow" class="external text" href="https://www.w3.org/community/webassembly/">W3C Community Group</a></li>
<li><a rel="nofollow" class="external text" href="https://webassembly.github.io/spec/core/">WebAssembly Specification</a></li>
<li><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://developer.mozilla.org/en-US/docs/WebAssembly">"WebAssembly"</a>. <i>MDN Web Docs</i>. 16 April 2024.</cite> Has info on browser compatibility and specifications (WebAssembly JavaScript API)</li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="World_Wide_Web_Consortium_(W3C)102" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div id="World_Wide_Web_Consortium_(W3C)102" style="font-size:114%;margin:0 4em"><a href="World_Wide_Web_Consortium" title="World Wide Web Consortium">World Wide Web Consortium</a> (W3C)</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Products,<br>standards</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="World_Wide_Web_Consortium#W3C_recommendation_(REC)" title="World Wide Web Consortium">Recommendations</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ActivityPub" title="ActivityPub">ActivityPub</a></li>
<li><a href="Activity_Streams_(format)" title="Activity Streams (format)">Activity Streams</a></li>
<li><a href="WAI-ARIA" title="WAI-ARIA">ARIA</a></li>
<li><a href="Canonical_XML" title="Canonical XML">Canonical XML</a></li>
<li><a href="Compound_Document_Format" title="Compound Document Format">CDF</a></li>
<li><a href="CSS" title="CSS">CSS</a>
<ul><li><a href="CSS_animations" title="CSS animations">Animations</a></li>
<li><a href="Flexbox" title="Flexbox">Flexbox</a></li>
<li><a href="CSS_grid_layout" title="CSS grid layout">Grid</a></li></ul></li>
<li><a href="Document_Object_Model" title="Document Object Model">DOM</a></li>
<li><a href="Efficient_XML_Interchange" title="Efficient XML Interchange">EXI</a></li>
<li><a href="Emotion_Markup_Language" title="Emotion Markup Language">EmotionML</a></li>
<li><a href="W3C_Geolocation_API" title="W3C Geolocation API">Geolocation API</a></li>
<li><a href="HTML" title="HTML">HTML</a>
<ul><li><a href="HTML5" title="HTML5">HTML5</a></li></ul></li>
<li><a href="Indexed_Database_API" title="Indexed Database API">IndexedDB</a></li>
<li><a href="Internationalization_Tag_Set" title="Internationalization Tag Set">ITS</a></li>
<li><a href="JSON-LD" title="JSON-LD">JSON-LD</a></li>
<li><a href="Linked_Data_Notifications" title="Linked Data Notifications">Linked Data Notifications</a></li>
<li><a href="MathML" title="MathML">MathML</a></li>
<li><a href="Micropub_(protocol)" title="Micropub (protocol)">Micropub</a></li>
<li><a href="Web_Ontology_Language" title="Web Ontology Language">OWL</a></li>
<li><a href="Pronunciation_Lexicon_Specification" title="Pronunciation Lexicon Specification">PLS</a></li>
<li><a href="Resource_Description_Framework" title="Resource Description Framework">RDF</a>
<ul><li><a href="RDF_Schema" title="RDF Schema">Schema</a></li>
<li><a href="RDFa" title="RDFa">RDFa</a></li></ul></li>
<li><a href="Semantic_Interpretation_for_Speech_Recognition" title="Semantic Interpretation for Speech Recognition">SISR</a></li>
<li><a href="Simple_Knowledge_Organization_System" title="Simple Knowledge Organization System">SKOS</a></li>
<li><a href="Synchronized_Multimedia_Integration_Language" title="Synchronized Multimedia Integration Language">SMIL</a></li>
<li><a href="SOAP" title="SOAP">SOAP</a></li>
<li><a href="Speech_Recognition_Grammar_Specification" title="Speech Recognition Grammar Specification">SRGS</a></li>
<li><a href="Subresource_Integrity" title="Subresource Integrity">SRI</a></li>
<li><a href="Speech_Synthesis_Markup_Language" title="Speech Synthesis Markup Language">SSML</a></li>
<li><a href="SVG" title="SVG">SVG</a>
<ul><li><a href="SVG_filter_effects" title="SVG filter effects">Filter Effects</a></li></ul></li>
<li><a href="SCXML" title="SCXML">SCXML</a></li>
<li><a href="SHACL" title="SHACL">SHACL</a></li>
<li><a href="SPARQL" title="SPARQL">SPARQL</a></li>
<li><a href="Timed_text" title="Timed text">Timed text</a></li>
<li><a href="VoiceXML" title="VoiceXML">VoiceXML</a></li>
<li><a href="Web_of_Things" title="Web of Things">WoT</a>
<ul><li><a href="Thing_Description" title="Thing Description">TD</a></li></ul></li>
<li><a href="Web_storage" title="Web storage">Web storage</a></li>
<li><a href="Web_Services_Description_Language" title="Web Services Description Language">WSDL</a></li>
<li><a href="Webmention" title="Webmention">Webmention</a></li>
<li><a href="WebSub" title="WebSub">WebSub</a></li>
<li><a href="WebVTT" title="WebVTT">WebVTT</a></li>
<li><a href="Web_Open_Font_Format" title="Web Open Font Format">WOFF</a></li>
<li><a href="XHTML" title="XHTML">XHTML</a>
<ul><li><a href="XHTML%2BRDFa" title="XHTML+RDFa">+RDFa</a></li></ul></li>
<li><a href="XML" title="XML">XML</a>
<ul><li><a href="XML_Base" title="XML Base">Base</a></li>
<li><a href="XML_Encryption" title="XML Encryption">Encryption</a></li>
<li><a href="XML_Events" title="XML Events">Events</a></li>
<li><a href="XML_Information_Set" title="XML Information Set">Information Set</a></li>
<li><a href="XML_namespace" title="XML namespace">Namespace</a></li>
<li><a href="XML_Schema_(W3C)" title="XML Schema (W3C)">Schema</a></li>
<li><a href="XML_Signature" title="XML Signature">Signature</a></li>
<li><a href="XForms" title="XForms">XForms</a></li>
<li><a href="XInclude" title="XInclude">XInclude</a></li>
<li><a href="XLink" title="XLink">XLink</a></li>
<li><a href="XML-binary_Optimized_Packaging" title="XML-binary Optimized Packaging">XOP</a></li>
<li><a href="XPath" title="XPath">XPath</a>
<ul><li><a href="XPath_2.0" title="XPath 2.0">2.0</a></li>
<li><a href="XPath_3" title="XPath 3">3.x</a></li></ul></li>
<li><a href="XPointer" title="XPointer">XPointer</a></li>
<li><a href="XProc" title="XProc">XProc</a></li>
<li><a href="XQuery" title="XQuery">XQuery</a></li>
<li><a href="XSL" title="XSL">XSL</a></li>
<li><a href="XSL_Formatting_Objects" title="XSL Formatting Objects">XSL-FO</a></li>
<li><a href="XSLT" title="XSLT">XSLT</a>
<ul><li><a href="XSLT_elements" title="XSLT elements">elements</a></li></ul></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Notes</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="IndieAuth" title="IndieAuth">IndieAuth</a></li>
<li><a href="XAdES" title="XAdES">XAdES</a></li>
<li><a href="XBL" title="XBL">XBL</a></li>
<li><a href="XHTML%2BSMIL" title="XHTML+SMIL">XHTML+SMIL</a></li>
<li><a href="Extensible_User_Interface_Protocol" title="Extensible User Interface Protocol">XUP</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="World_Wide_Web_Consortium#Working_draft_(WD)" title="World Wide Web Consortium">Working drafts</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Call_Control_eXtensible_Markup_Language" title="Call Control eXtensible Markup Language">CCXML</a></li>
<li><a href="CURIE" title="CURIE">CURIE</a></li>
<li><a href="Encrypted_Media_Extensions" title="Encrypted Media Extensions">EME</a></li>
<li><a href="InkML" title="InkML">InkML</a></li>
<li><a href="Media_Source_Extensions" title="Media Source Extensions">MSE</a></li>
<li><a href="Rule_Interchange_Format" title="Rule Interchange Format">RIF</a></li>
<li><a href="SMIL_Timesheets" title="SMIL Timesheets">SMIL Timesheets</a></li>
<li><a href="SXBL" title="SXBL">sXBL</a></li>
<li><a href="WebGPU" title="WebGPU">WebGPU</a></li>
<li><a href="WebXR" title="WebXR">WebXR</a></li>
<li><a href="Extensible_Forms_Description_Language" title="Extensible Forms Description Language">XFDL</a></li>
<li><a href="XFrames" title="XFrames">XFrames</a></li>
<li><a href="XMLHttpRequest" title="XMLHttpRequest">XMLHttpRequest</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Guidelines</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Web_Content_Accessibility_Guidelines" title="Web Content Accessibility Guidelines">Web Content Accessibility Guidelines</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Initiative</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="W3C_Markup_Validation_Service" title="W3C Markup Validation Service">Markup Validation Service</a></li>
<li><a href="Web_Accessibility_Initiative" title="Web Accessibility Initiative">Web Accessibility Initiative</a></li>
<li><a href="Web_Components" title="Web Components">Web Components</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Deprecated</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="C-HTML" class="mw-redirect" title="C-HTML">C-HTML</a></li>
<li><a href="Handheld_Device_Markup_Language" title="Handheld Device Markup Language">HDML</a></li>
<li><a href="JavaScript_Style_Sheets" title="JavaScript Style Sheets">JSSS</a></li>
<li><a href="Precision_Graphics_Markup_Language" title="Precision Graphics Markup Language">PGML</a></li>
<li><a href="Vector_Markup_Language" title="Vector Markup Language">VML</a></li>
<li><a href="WebPlatform.org" title="WebPlatform.org">WebPlatform</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Obsoleted</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="P3P" title="P3P">P3P</a></li>
<li><a href="XHTML%2BMathML%2BSVG" title="XHTML+MathML+SVG">XHTML+MathML+SVG</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Groups,<br>organizations</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td colspan="2" class="navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="WHATWG" title="WHATWG">WHATWG</a></li>
<li>Defunct: <a href="World_Wide_Web_Foundation" title="World Wide Web Foundation">World Wide Web Foundation</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Elected</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li>AB</li>
<li>Board</li>
<li><a href="Technical_Architecture_Group" title="Technical Architecture Group">TAG</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Working</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="CSS_Working_Group" title="CSS Working Group">CSS</a></li>
<li><a href="SVG_Working_Group" title="SVG Working Group">SVG</a></li>
<li><a href="Web_Authentication_Working_Group" title="Web Authentication Working Group">WebAuthn</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Community, business</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Improving_Web_Advertising_Business_Group" title="Improving Web Advertising Business Group">Web Advertising BG</a></li>
<li> CG</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Closed</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="W3C_Device_Description_Working_Group" title="W3C Device Description Working Group">Device Description</a> (DDWG)</li>
<li><a href="HTML_Working_Group" title="HTML Working Group">HTML</a></li>
<li><a href="W3C_MMI" title="W3C MMI">Multimodal Interaction Activity</a> (MMI)</li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Software</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="CERN_httpd" title="CERN httpd">CERN httpd</a></li>
<li><a href="Libwww" title="Libwww">Libwww</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Web_browser" title="Web browser">Browsers</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Line_Mode_Browser" title="Line Mode Browser">Line Mode</a> (1990–)</li>
<li><a href="Arena_(web_browser)" title="Arena (web browser)">Arena</a> (1993–98)</li>
<li><a href="Agora_(web_browser)" title="Agora (web browser)">Agora</a> (1994–97)</li>
<li><a href="Argo_(web_browser)" title="Argo (web browser)">Argo</a> (1994–97)</li>
<li><a href="Amaya_(web_editor)" title="Amaya (web editor)">Amaya</a> (browser/editor, 1996–2012)</li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Conferences</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="The_Web_Conference" title="The Web Conference">International World Wide Web Conference</a> (IW3C)
<ul><li><a href="International_World_Wide_Web_Conference_Committee" title="International World Wide Web Conference Committee">Steering Committee</a> (IW3C2)</li>
<li><a href="First_International_Conference_on_the_World-Wide_Web" title="First International Conference on the World-Wide Web">First conference</a> ("WWW1", 1994)</li></ul></li></ul>
</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Web_browsers181" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Web_browsers181" style="font-size:114%;margin:0 4em"><a href="Web_browser" title="Web browser">Web browsers</a></div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks mw-collapsible uncollapsed navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="*_Features_*_standards_*_protocols181" style="font-size:114%;margin:0 4em">
<ul><li>Features</li>
<li>standards</li>
<li>protocols</li></ul>
</div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Features</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Bookmark_(digital)" class="mw-redirect" title="Bookmark (digital)">Bookmarks</a></li>
<li><a href="Browser_extension" title="Browser extension">Extensions</a></li>
<li><a href="Private_browsing" title="Private browsing">Privacy mode</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Web_standards" title="Web standards">Web standards</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="HTML" title="HTML">HTML</a>
<ul><li><a href="HTML5" title="HTML5">v5</a></li></ul></li>
<li><a href="CSS" title="CSS">CSS</a></li>
<li><a href="Document_Object_Model" title="Document Object Model">DOM</a></li>
<li><a href="JavaScript" title="JavaScript">JavaScript</a>
<ul>
<li><a href="Web_storage" title="Web storage">Web storage</a></li>
<li><a href="Indexed_Database_API" title="Indexed Database API">IndexedDB</a></li>
<li><a href="WebGL" title="WebGL">WebGL</a></li>
<li><a href="WebGPU" title="WebGPU">WebGPU</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Protocols</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="HTTP" title="HTTP">HTTP</a>
<ul><li><a href="HTTPS" title="HTTPS">Encryption</a></li>
<li><a href="HTTP_cookie" title="HTTP cookie">Cookies</a>
<ul><li><a href="Third-party_cookies" title="Third-party cookies">third-party</a></li></ul></li></ul></li>
<li><a href="Online_Certificate_Status_Protocol" title="Online Certificate Status Protocol">OCSP</a></li>
<li><a href="WebRTC" title="WebRTC">WebRTC</a></li>
<li><a href="WebSocket" title="WebSocket">WebSocket</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr></tbody></table><div></div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks mw-collapsible mw-collapsed navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Active181" style="font-size:114%;margin:0 4em">Active</div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Blink_(browser_engine)" title="Blink (browser engine)">Blink</a>-based</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Proprietary_software" title="Proprietary software">Proprietary</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Google_Chrome" title="Google Chrome">Google Chrome</a></li>
<li><a href="Arc_(web_browser)" title="Arc (web browser)">Arc</a></li>
<li><a href="Avast_Secure_Browser" title="Avast Secure Browser">Avast</a></li>
<li><a href="C%E1%BB%91c_C%E1%BB%91c" title="Cốc Cốc">Cốc Cốc</a></li>
<li><a href="Comodo_Dragon" title="Comodo Dragon">Comodo</a></li>
<li><a href="Ecosia#Ecosia_Browser" title="Ecosia">Ecosia</a></li>
<li><a href="Epic_(web_browser)" title="Epic (web browser)">Epic</a></li>
<li><a href="Huawei_Mobile_Services" title="Huawei Mobile Services">Huawei</a></li>
<li><a href="Maxthon" title="Maxthon">Maxthon</a></li>
<li><a href="Microsoft_Edge" title="Microsoft Edge">Microsoft Edge</a></li>
<li><a href="Opera_(web_browser)" title="Opera (web browser)">Opera</a> (<a href="Opera_Mobile" title="Opera Mobile">Mobile</a>)</li>
<li><a href="Puffin_Browser" title="Puffin Browser">Puffin </a></li>
<li><a href="QQ_Browser" title="QQ Browser">QQ</a></li>
<li><a href="Samsung_Internet" title="Samsung Internet">Samsung</a></li>
<li><a href="Amazon_Silk" title="Amazon Silk">Silk</a></li>
<li><a href="Sleipnir_(web_browser)" title="Sleipnir (web browser)">Sleipnir</a></li>
<li><a href="SRWare_Iron" title="SRWare Iron">SRWare</a></li>
<li><a href="UC_Browser" title="UC Browser">UC</a></li>
<li><a href="Vivaldi_(web_browser)" title="Vivaldi (web browser)">Vivaldi</a></li>
<li><a href="Naver_Whale" title="Naver Whale">Whale</a></li>
<li><a href="Yandex_Browser" title="Yandex Browser">Yandex</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Free_and_open-source_software" title="Free and open-source software">FOSS</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Chromium_(web_browser)" title="Chromium (web browser)">Chromium</a></li>
<li><a href="Brave_(web_browser)" title="Brave (web browser)">Brave</a></li>
<li><a href="Dooble" title="Dooble">Dooble</a></li>
<li><a href="Falkon" title="Falkon">Falkon</a></li>
<li><a href="Otter_Browser" title="Otter Browser">Otter</a></li>
<li><a href="Supermium" title="Supermium">Supermium</a></li>
<li><a href="Ungoogled-chromium" title="Ungoogled-chromium">ungoogled</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Gecko_(software)" title="Gecko (software)">Gecko</a>-based</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Firefox" title="Firefox">Firefox</a></li>
<li><a href="Floorp" title="Floorp">Floorp</a></li>
<li><a href="GNU_IceCat" title="GNU IceCat">GNU IceCat</a></li>
<li><a href="LibreWolf" title="LibreWolf">LibreWolf</a></li>
<li><a href="Midori_(web_browser)" title="Midori (web browser)">Midori</a></li>
<li><a href="SlimBrowser" title="SlimBrowser">SlimBrowser</a></li>
<li><a href="Tor_Browser" class="mw-redirect" title="Tor Browser">Tor</a></li>
<li><a href="Zen_Browser" title="Zen Browser">Zen</a></li>
<li>Gecko <a href="Fork_(software_development)" title="Fork (software development)">forks</a>
<ul><li><a href="Basilisk_(web_browser)" title="Basilisk (web browser)">Basilisk</a></li>
<li><a href="K-Meleon" title="K-Meleon">K-Meleon</a></li>
<li><a href="Pale_Moon" title="Pale Moon">Pale Moon</a></li>
<li><a href="SeaMonkey" title="SeaMonkey">SeaMonkey</a></li>
<li><a href="Waterfox" title="Waterfox">Waterfox</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="WebKit" title="WebKit">WebKit</a>-based</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Safari_(web_browser)" title="Safari (web browser)">Safari</a></li>
<li><a href="GNOME_Web" title="GNOME Web">GNOME Web</a></li>
<li><a href="ICab" title="ICab">iCab</a></li>
<li><a href="Kagi_(search_engine)#Orion_Browser" title="Kagi (search engine)">Orion</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Multi-<a href="Browser_engine" title="Browser engine">engine</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="360_Secure_Browser" title="360 Secure Browser">360</a></li>
<li><a href="DuckDuckGo_Private_Browser" title="DuckDuckGo Private Browser">DuckDuckGo</a></li>
<li><a href="Konqueror" title="Konqueror">Konqueror</a></li>
<li><a href="Lunascape" title="Lunascape">Lunascape</a></li>
<li><a href="NetFront" title="NetFront">NetFront</a></li>
<li><a href="Qutebrowser" title="Qutebrowser">qutebrowser</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Dillo" title="Dillo">Dillo</a></li>
<li><a href="Eww_(web_browser)" title="Eww (web browser)">eww</a></li>
<li><a href="Flow_(web_browser)" title="Flow (web browser)">Flow</a></li>
<li><a href="Ladybird_(web_browser)" title="Ladybird (web browser)">Ladybird</a></li>
<li><a href="Links_(web_browser)" title="Links (web browser)">Links</a></li>
<li><a href="Lynx_(web_browser)" title="Lynx (web browser)">Lynx</a></li>
<li><a href="NetSurf" title="NetSurf">NetSurf</a></li>
<li><a href="Opera_Mini" title="Opera Mini">Opera Mini</a></li>
<li><a href="W3m" title="W3m">w3m</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr></tbody></table><div></div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks mw-collapsible mw-collapsed navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Discontinued181" style="font-size:114%;margin:0 4em">Discontinued</div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Blink_(browser_engine)" title="Blink (browser engine)">Blink</a>-based</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Beaker_(web_browser)" title="Beaker (web browser)">Beaker</a></li>
<li><a href="Citrio" title="Citrio">Citrio</a></li>
<li><a href="Flock_(web_browser)" title="Flock (web browser)">Flock</a></li>
<li><a href="Redcore" title="Redcore">Redcore</a></li>
<li><a href="Rockmelt" title="Rockmelt">Rockmelt</a></li>
<li><a href="SalamWeb" title="SalamWeb">SalamWeb</a></li>
<li><a href="Sputnik_(search_engine)#Browser" title="Sputnik (search engine)">Sputnik</a></li>
<li><a href="Torch_(web_browser)" title="Torch (web browser)">Torch</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Gecko_(software)" title="Gecko (software)">Gecko</a>-based</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Beonex_Communicator" title="Beonex Communicator">Beonex</a></li>
<li><a href="Camino_(web_browser)" title="Camino (web browser)">Camino</a></li>
<li><a href="Classilla" title="Classilla">Classilla</a></li>
<li><a href="Conkeror" title="Conkeror">Conkeror</a></li>
<li><a href="Firefox_Lite" title="Firefox Lite">Firefox Lite</a></li>
<li><a href="Galeon" title="Galeon">Galeon</a></li>
<li><a href="Ghostzilla" title="Ghostzilla">Ghostzilla</a></li>
<li><a href="Comodo_IceDragon" title="Comodo IceDragon">IceDragon</a></li>
<li><a href="Kazehakase" title="Kazehakase">Kazehakase</a></li>
<li><a href="Kylo_(web_browser)" title="Kylo (web browser)">Kylo</a></li>
<li><a href="IBM_Lotus_Symphony" title="IBM Lotus Symphony">Lotus</a></li>
<li><a href="MicroB" title="MicroB">MicroB</a></li>
<li><a href="Minimo" title="Minimo">Minimo</a></li>
<li><a href="Mozilla_Application_Suite" title="Mozilla Application Suite">Mozilla suite</a></li>
<li><a href="PirateBrowser" title="PirateBrowser">PirateBrowser</a></li>
<li><a href="AT%26T_Pogo" title="AT&T Pogo">Pogo</a></li>
<li><a href="Kirix_Strata" title="Kirix Strata">Strata</a></li>
<li><a href="Swiftfox" title="Swiftfox">Swiftfox</a></li>
<li><a href="Swiftweasel" title="Swiftweasel">Swiftweasel</a></li>
<li><a href="TenFourFox" class="mw-redirect" title="TenFourFox">TenFourFox</a></li>
<li><a href="Timberwolf_(web_browser)" title="Timberwolf (web browser)">Timberwolf</a></li>
<li><a href="XB_Browser" title="XB Browser">xB</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Trident_(software)" title="Trident (software)">MSHTML</a>-based</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Internet_Explorer" title="Internet Explorer">Internet Explorer</a></li>
<li><a href="AOL_Explorer" title="AOL Explorer">AOL</a></li>
<li><a href="Deepnet_Explorer" title="Deepnet Explorer">Deepnet</a></li>
<li><a href="GreenBrowser" title="GreenBrowser">GreenBrowser</a></li>
<li><a href="MediaBrowser" title="MediaBrowser">MediaBrowser</a></li>
<li><a href="MSN_Dial-Up_Internet_Access#MSN_Explorer" title="MSN Dial-Up Internet Access">MSN Explorer</a></li>
<li><a href="MSN_Dial-Up_Internet_Access#MSN_2.0" title="MSN Dial-Up Internet Access">MSN Program Viewer</a></li>
<li><a href="NeoPlanet" title="NeoPlanet">NeoPlanet</a></li>
<li><a href="NetCaptor" title="NetCaptor">NetCaptor</a></li>
<li><a href="SpaceTime_(software)" title="SpaceTime (software)">SpaceTime</a></li>
<li><a href="ZAC_Browser" title="ZAC Browser">ZAC</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="WebKit" title="WebKit">WebKit</a>-based</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Arora_(web_browser)" title="Arora (web browser)">Arora</a></li>
<li><a href="Bolt_(web_browser)" title="Bolt (web browser)">BOLT</a></li>
<li><a href="Dolphin_Browser" title="Dolphin Browser">Dolphin</a></li>
<li><a href="Fluid_(web_browser)" title="Fluid (web browser)">Fluid</a></li>
<li><a href="Google_TV_(smart_TV_platform)" class="mw-redirect" title="Google TV (smart TV platform)">Google TV</a></li>
<li><a href="Iris_Browser" title="Iris Browser">Iris</a></li>
<li><a href="Mercury_Browser" title="Mercury Browser">Mercury</a></li>
<li><a href="Nokia_Browser_for_Symbian" title="Nokia Browser for Symbian">Nokia Symbian</a></li>
<li><a href="OmniWeb" title="OmniWeb">OmniWeb</a></li>
<li><a href="Opera_Coast" title="Opera Coast">Opera Coast</a></li>
<li><a href="Origyn_Web_Browser" title="Origyn Web Browser">Origyn</a></li>
<li><a href="QtWeb" title="QtWeb">QtWeb</a></li>
<li><a href="Shiira" title="Shiira">Shiira</a></li>
<li><a href="Steel_(web_browser)" title="Steel (web browser)">Steel</a></li>
<li><a href="Surf_(web_browser)" title="Surf (web browser)">surf</a></li>
<li><a href="Uzbl" title="Uzbl">Uzbl</a></li>
<li><a href="WebPositive" class="mw-redirect" title="WebPositive">WebPositive</a></li>
<li><a href="Xombrero" title="Xombrero">xombrero</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Abaco_(web_browser)" title="Abaco (web browser)">abaco</a></li>
<li><a href="Amaya_(web_editor)" title="Amaya (web editor)">Amaya</a></li>
<li><a href="Arachne_(web_browser)" title="Arachne (web browser)">Arachne</a></li>
<li><a href="Arena_(web_browser)" title="Arena (web browser)">Arena</a></li>
<li><a href="Blazer_(web_browser)" title="Blazer (web browser)">Blazer</a></li>
<li><a href="Cake_Browser" title="Cake Browser">Cake</a></li>
<li><a href="CM_Browser" title="CM Browser">CM</a></li>
<li><a href="Microsoft_Live_Labs_Deepfish" title="Microsoft Live Labs Deepfish">Deepfish</a></li>
<li><a href="Microsoft_Edge_Legacy" title="Microsoft Edge Legacy">Edge Legacy</a></li>
<li><a href="ELinks" title="ELinks">ELinks</a></li>
<li><a href="Gazelle_(web_browser)" title="Gazelle (web browser)">Gazelle</a></li>
<li><a href="HotJava" title="HotJava">HotJava</a></li>
<li><a href="IBM_Home_Page_Reader" title="IBM Home Page Reader">IBM Home Page Reader</a></li>
<li><a href="IBM_WebExplorer" title="IBM WebExplorer">IBM WebExplorer</a></li>
<li><a href="IBrowse" title="IBrowse">IBrowse</a></li>
<li><a href="Internet_Explorer_for_Mac" title="Internet Explorer for Mac">Internet Explorer for Mac</a></li>
<li><a href="KidZui" title="KidZui">KidZui</a></li>
<li><a href="Line_Mode_Browser" title="Line Mode Browser">Line Mode</a></li>
<li><a href="Mosaic_(web_browser)" class="mw-redirect" title="Mosaic (web browser)">Mosaic</a></li>
<li><a href="MSN_TV" title="MSN TV">MSN TV</a></li>
<li><a href="NetPositive" class="mw-redirect" title="NetPositive">NetPositive</a></li>
<li><a href="Netscape_(web_browser)" title="Netscape (web browser)">Netscape</a></li>
<li><a href="Skweezer" title="Skweezer">Skweezer</a></li>
<li><a href="Skyfire_(company)" title="Skyfire (company)">Skyfire</a></li>
<li><a href="ThunderHawk" title="ThunderHawk">ThunderHawk</a></li>
<li><a href="Vision_Mobile_Browser" title="Vision Mobile Browser">Vision</a></li>
<li><a href="WinWAP" title="WinWAP">WinWAP</a></li>
<li><a href="WorldWideWeb" title="WorldWideWeb">WorldWideWeb</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr></tbody></table><div></div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><a href="List_of_web_browsers" title="List of web browsers">List</a></li>
<li><a href="Comparison_of_web_browsers" title="Comparison of web browsers">Comparison</a></li>
<li>Category</li></ul>
</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Web_interfaces26" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Web_interfaces26" style="font-size:114%;margin:0 4em"><a href="Web_API" title="Web API">Web interfaces</a></div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td class="navbox-abovebelow" colspan="2" style="font-weight:bold"><div id="Server-side154"><a href="Server-side" class="mw-redirect" title="Server-side">Server-side</a></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Communication_protocol" title="Communication protocol">Protocols</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="HTTP" title="HTTP">HTTP</a>
<ul><li><a href="HTTP/2" title="HTTP/2">v2</a></li>
<li><a href="HTTP/3" title="HTTP/3">v3</a></li>
<li><a href="HTTPS" title="HTTPS">Encryption</a></li>
<li><a href="WebDAV" title="WebDAV">WebDAV</a></li></ul></li>
<li><a href="Common_Gateway_Interface" title="Common Gateway Interface">CGI</a></li>
<li><a href="Simple_Common_Gateway_Interface" title="Simple Common Gateway Interface">SCGI</a></li>
<li><a href="FastCGI" title="FastCGI">FCGI</a></li>
<li><a href="Apache_JServ_Protocol" title="Apache JServ Protocol">AJP</a></li>
<li><a href="Web_Services_for_Remote_Portlets" title="Web Services for Remote Portlets">WSRP</a></li>
<li><a href="WebSocket" title="WebSocket">WebSocket</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Server_application_programming_interface" title="Server application programming interface">Server APIs</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Netscape_Server_Application_Programming_Interface" title="Netscape Server Application Programming Interface">C NSAPI</a></li>
<li><a href="Apache_HTTP_Server#Feature_overview" title="Apache HTTP Server">C ASAPI</a></li>
<li><a href="Internet_Server_Application_Programming_Interface" title="Internet Server Application Programming Interface">C ISAPI</a></li>
<li><a href="Active_Server_Pages" title="Active Server Pages">COM ASP</a></li>
<li><a href="Jakarta_Servlet" title="Jakarta Servlet">Jakarta Servlet</a>
<ul><li><a href="Web_container" title="Web container">container</a></li></ul></li>
<li><a href="Open_Web_Interface_for_.NET" title="Open Web Interface for .NET">CLI OWIN</a></li>
<li><a href="HTTP_handler" title="HTTP handler">ASP.NET Handler</a></li>
<li><a href="Web_Server_Gateway_Interface" title="Web Server Gateway Interface">Python WSGI</a></li>
<li><a href="Asynchronous_Server_Gateway_Interface" title="Asynchronous Server Gateway Interface">Python ASGI</a></li>
<li><a href="Rack_(web_server_interface)" title="Rack (web server interface)">Ruby Rack</a></li>
<li><a href="JSGI" title="JSGI">JavaScript JSGI</a></li>
<li><a href="Plack_(software)#PSGI" title="Plack (software)">Perl PSGI</a></li>
<li><a href="Java_Portlet_Specification" title="Java Portlet Specification">Portlet</a>
<ul><li><a href="Java_Portlet_Specification" title="Java Portlet Specification">container</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="List_of_Apache_modules" title="List of Apache modules">Apache modules</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Server_Side_Includes" title="Server Side Includes">mod_include</a></li>
<li><a href="Mod_jk" class="mw-redirect" title="Mod jk">mod_jk</a></li>
<li><a href="Mod_lisp" title="Mod lisp">mod_lisp</a></li>
<li><a href="Mod_mono" title="Mod mono">mod_mono</a></li>
<li><a href="Mod_parrot" class="mw-redirect" title="Mod parrot">mod_parrot</a></li>
<li><a href="Mod_perl" title="Mod perl">mod_perl</a></li>
<li><a href="PHP" title="PHP">mod_php</a></li>
<li><a href="Mod_proxy" title="Mod proxy">mod_proxy</a></li>
<li><a href="Mod_python" title="Mod python">mod_python</a></li>
<li><a href="Mod_wsgi" title="Mod wsgi">mod_wsgi</a></li>
<li><a href="Mod_ruby" title="Mod ruby">mod_ruby</a></li>
<li><a href="Phusion_Passenger" title="Phusion Passenger">Phusion Passenger</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Topics</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Web_service" title="Web service">Web service</a> vs. <a href="Web_resource" title="Web resource">Web resource</a></li>
<li><a href="Web-oriented_architecture" title="Web-oriented architecture">WOA</a> vs. <a href="Resource-oriented_architecture" title="Resource-oriented architecture">ROA</a></li>
<li><a href="Open_API" title="Open API">Open API</a></li>
<li><a href="Webhook" title="Webhook">Webhook</a></li>
<li><a href="Application_server" title="Application server">Application server</a>
<ul><li><a href="List_of_application_servers" title="List of application servers">comparison</a></li></ul></li>
<li><a href="Server-side_scripting" title="Server-side scripting">Scripting</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td class="navbox-abovebelow" colspan="2" style="font-weight:bold"><div id="Client-side89"><a href="Client-side" class="mw-redirect" title="Client-side">Client-side</a></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Plug-in_(computing)" title="Plug-in (computing)">Browser APIs</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="NPAPI" title="NPAPI">C NPAPI</a>
<ul><li><a href="NPAPI#LiveConnect" title="NPAPI">LiveConnect</a></li>
<li><a href="NPAPI#XPConnect" title="NPAPI">XPConnect</a></li></ul></li>
<li><a href="NPAPI#NPRuntime" title="NPAPI">C NPRuntime</a></li>
<li><a href="Google_Native_Client#Pepper" title="Google Native Client">C PPAPI</a>
<ul><li><a href="Google_Native_Client" title="Google Native Client">NaCl</a></li></ul></li>
<li><a href="ActiveX" title="ActiveX">ActiveX</a></li>
<li><a href="Browser_Helper_Object" title="Browser Helper Object">BHO</a></li>
<li><a href="XAML_Browser_Applications" title="XAML Browser Applications">XBAP</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Web_API#Client_side" title="Web API">Web APIs</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="WHATWG" title="WHATWG">WHATWG</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="HTML_audio" title="HTML audio">Audio</a></li>
<li><a href="Canvas_element" title="Canvas element">Canvas</a></li>
<li><a href="Document_Object_Model" title="Document Object Model">DOM</a></li>
<li><a href="Server-sent_events" title="Server-sent events">SSE</a></li>
<li><a href="HTML_video" title="HTML video">Video</a></li>
<li><a href="WebSocket" title="WebSocket">WebSockets</a></li>
<li><a href="Web_Messaging" title="Web Messaging">Web messaging</a></li>
<li><a href="Web_storage" title="Web storage">Web storage</a></li>
<li><a href="Web_worker" title="Web worker">Web worker</a></li>
<li><a href="XMLHttpRequest" title="XMLHttpRequest">XMLHttpRequest</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="World_Wide_Web_Consortium" title="World Wide Web Consortium">W3C</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="DOM_event" title="DOM event">DOM events</a></li>
<li><a href="Encrypted_Media_Extensions" title="Encrypted Media Extensions">EME</a></li>
<li><a href="HTML5_File_API" title="HTML5 File API">File</a></li>
<li><a href="W3C_Geolocation_API" title="W3C Geolocation API">Geolocation</a></li>
<li><a href="Indexed_Database_API" title="Indexed Database API">IndexedDB</a></li>
<li><a href="Media_Source_Extensions" title="Media Source Extensions">MSE</a></li>
<li><a href="SVG" title="SVG">SVG</a></li>
<li><a href="WebAuthn" title="WebAuthn">WebAuthn</a></li>
<li><a href="WebGPU" title="WebGPU">WebGPU</a></li>
<li><a href="WebRTC" title="WebRTC">WebRTC</a></li>
<li><a href="WebXR" title="WebXR">WebXR</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Khronos_Group" title="Khronos Group">Khronos</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="WebCL" title="WebCL">WebCL</a></li>
<li><a href="WebGL" title="WebGL">WebGL</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Others</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Gears_(software)" title="Gears (software)">Gears</a></li>
<li><a href="Web_SQL_Database" title="Web SQL Database">Web SQL Database</a> (formerly W3C)</li>
<li><a href="WebUSB" title="WebUSB">WebUSB</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Topics</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Ajax_(programming)" title="Ajax (programming)">Ajax</a> and <a href="Remote_scripting" title="Remote scripting">Remote scripting</a> vs. <a href="Dynamic_HTML" title="Dynamic HTML">DHTML</a></li>
<li><a href="Browser_extension" title="Browser extension">Browser extension</a></li>
<li><a href="Cross-site_scripting" title="Cross-site scripting">Cross-site scripting</a> and <a href="Cross-origin_resource_sharing" title="Cross-origin resource sharing">CORS</a></li>
<li><a href="Hydration_(web_development)" title="Hydration (web development)">Hydration</a></li>
<li><a href="Mashup_(web_application_hybrid)" title="Mashup (web application hybrid)">Mashup</a></li>
<li><a href="Client-side_persistent_data" title="Client-side persistent data">Persistent data</a></li>
<li><a href="Web_IDL" title="Web IDL">Web IDL</a></li>
<li><a href="Dynamic_web_page#Client-side_scripting" title="Dynamic web page">Scripting</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td class="navbox-abovebelow" colspan="2"><div id="Related_topics14">Related topics</div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Frontend_and_backend" title="Frontend and backend">Frontend and backend</a></li>
<li><a href="Microservices" title="Microservices">Microservices</a>
<ul><li><a href="REST" title="REST">REST</a></li>
<li><a href="GraphQL" title="GraphQL">GraphQL</a></li></ul></li>
<li><a href="Push_technology" title="Push technology">Push technology</a></li>
<li><a href="Solution_stack" title="Solution stack">Solution stack</a></li>
<li><a href="Web_page" title="Web page">Web page</a>
<ul><li><a href="Static_web_page" title="Static web page">Static</a></li>
<li><a href="Dynamic_web_page" title="Dynamic web page">Dynamic</a></li></ul></li>
<li><a href="Web_standards" title="Web standards">Web standards</a></li>
<li><a href="Web_API_security" title="Web API security">Web API security</a></li>
<li><a href="Web_application" title="Web application">Web application</a>
<ul><li><a href="Rich_Internet_Application" title="Rich Internet Application">Rich</a></li>
<li><a href="Single-page_application" title="Single-page application">Single-page</a></li>
<li><a href="Progressive_web_app" title="Progressive web app">Progressive</a></li></ul></li>
<li><a href="Web_framework" title="Web framework">Web framework</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="JavaScript497" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="JavaScript497" style="font-size:114%;margin:0 4em"><a href="JavaScript" title="JavaScript">JavaScript</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Static_program_analysis" title="Static program analysis">Code analysis</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ESLint" title="ESLint">ESLint</a></li>
<li><a href="JSHint" title="JSHint">JSHint</a></li>
<li><a href="JSLint" title="JSLint">JSLint</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Subset" title="Subset">Supersets</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ArkTS" title="ArkTS">ArkTS</a></li>
<li><a href="JS%2B%2B" title="JS++">JS++</a></li>
<li><a href="TypeScript" title="TypeScript">TypeScript</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Source-to-source_compiler" title="Source-to-source compiler">Transpilers</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="AtScript" title="AtScript">AtScript</a></li>
<li><a href="Babel_(transcompiler)" title="Babel (transcompiler)">Babel</a></li>
<li><a href="ClojureScript" class="mw-redirect" title="ClojureScript">ClojureScript</a></li>
<li><a href="CoffeeScript" title="CoffeeScript">CoffeeScript</a></li>
<li><a href="Dart_(programming_language)" title="Dart (programming language)">Dart</a></li>
<li><a href="Elm_(programming_language)" title="Elm (programming language)">Elm</a></li>
<li><a href="Emscripten" title="Emscripten">Emscripten</a></li>
<li><a href="Google_Closure_Compiler" class="mw-redirect" title="Google Closure Compiler">Google Closure Compiler</a></li>
<li><a href="Google_Web_Toolkit" title="Google Web Toolkit">Google Web Toolkit</a></li>
<li><a href="Haxe" title="Haxe">Haxe</a></li>
<li><a href="LiveScript_(programming_language)" title="LiveScript (programming language)">LiveScript</a></li>
<li><a href="Morfik" title="Morfik">Morfik</a></li>
<li><a href="Nim_(programming_language)" title="Nim (programming language)">Nim</a></li>
<li><a href="Opa_(programming_language)" title="Opa (programming language)">Opa</a></li>
<li><a href="PureScript" title="PureScript">PureScript</a></li>
<li><a href="Reason_(programming_language)" title="Reason (programming language)">Reason</a></li>
<li><a href="WebSharper" title="WebSharper">WebSharper</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Concepts</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="JavaScript_library" title="JavaScript library">JavaScript library</a></li>
<li><a href="JavaScript_syntax" title="JavaScript syntax">JavaScript syntax</a></li>
<li><a href="JavaScript_stack" title="JavaScript stack">JavaScript stack</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Debugger" title="Debugger">Debuggers</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Chrome_(browser)" class="mw-redirect" title="Chrome (browser)">Chrome DevTools</a></li>
<li><a href="Firefox" title="Firefox">Firefox</a> Inspector</li>
<li><a href="Komodo_IDE" title="Komodo IDE">Komodo IDE</a></li>
<li><a href="Safari_(web_browser)" title="Safari (web browser)">Safari</a> Web Inspector</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Documentation_generator" title="Documentation generator">Documentation generators</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="JSDoc" title="JSDoc">JSDoc</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Editors (<a href="Comparison_of_JavaScript-based_source_code_editors" title="Comparison of JavaScript-based source code editors">comparison</a>)</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Ace_(editor)" title="Ace (editor)">Ace</a>
<ul><li><a href="Cloud9_IDE" title="Cloud9 IDE">Cloud9 IDE</a></li></ul></li>
<li><a href="Atom_(text_editor)" title="Atom (text editor)">Atom</a></li>
<li><a href="CodeMirror" title="CodeMirror">CodeMirror</a>
<ul><li><a href="Brackets_(text_editor)" title="Brackets (text editor)">Brackets</a></li>
<li><a href="Light_Table_(software)" title="Light Table (software)">Light Table</a></li></ul></li>
<li><a href="PhpStorm" class="mw-redirect" title="PhpStorm">PhpStorm</a></li>
<li><a href="List_of_Eclipse_projects#Top-level_sub-projects" title="List of Eclipse projects">Orion</a></li>
<li><a href="Visual_Studio" title="Visual Studio">Visual Studio</a>
<ul><li><a href="Microsoft_Visual_Studio_Express" title="Microsoft Visual Studio Express">Visual Studio Express</a></li></ul></li>
<li><a href="Visual_Studio_Code" title="Visual Studio Code">Visual Studio Code</a></li>
<li><a href="Visual_Studio#Azure_DevOps_Services" title="Visual Studio">Visual Studio Team Services</a></li>
<li><a href="Vim_(text_editor)" title="Vim (text editor)">Vim</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="JavaScript_engine" class="mw-redirect" title="JavaScript engine">Engines</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="List_of_ECMAScript_engines" class="mw-redirect" title="List of ECMAScript engines">List of ECMAScript engines</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Software_framework" title="Software framework">Frameworks</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Comparison_of_JavaScript-based_web_frameworks" title="Comparison of JavaScript-based web frameworks">Comparison of JavaScript frameworks</a></li>
<li><a href="List_of_JavaScript_libraries" title="List of JavaScript libraries">List of JavaScript libraries</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related <a href="Technology" title="Technology">technologies</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Ajax_(programming)" title="Ajax (programming)">Ajax</a></li>
<li><a href="AssemblyScript" title="AssemblyScript">AssemblyScript</a></li>
<li><a href="Asm.js" title="Asm.js">asm.js</a></li>
<li><a href="Cascading_Style_Sheets" class="mw-redirect" title="Cascading Style Sheets">Cascading Style Sheets</a></li>
<li><a href="Document_Object_Model" title="Document Object Model">Document Object Model</a></li>
<li><a href="HTML" title="HTML">HTML</a>
<ul><li><a href="HTML5" title="HTML5">HTML5</a></li></ul></li>
<li><a href="JSON" title="JSON">JSON</a></li>
<li><a href="WebAuthn" title="WebAuthn">WebAuthn</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Package_manager" title="Package manager">Package managers</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Npm" title="Npm">npm</a></li>
<li><a href="Pnpm" title="Pnpm">pnpm</a></li>
<li><a href="Yarn_(package_manager)" title="Yarn (package manager)">yarn</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Module bundlers</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Webpack" title="Webpack">Webpack</a></li>
<li><a href="Vite_(software)" title="Vite (software)">Vite</a></li>
<li><a href="Esbuild" title="Esbuild">esbuild</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Server-side_JavaScript" class="mw-redirect" title="Server-side JavaScript">Server-side</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Active_Server_Pages" title="Active Server Pages">Active Server Pages</a></li>
<li><a href="Bun_(software)" title="Bun (software)">Bun</a></li>
<li><a href="CommonJS" title="CommonJS">CommonJS</a></li>
<li><a href="Deno_(software)" title="Deno (software)">Deno</a></li>
<li><a href="JSGI" title="JSGI">JSGI</a></li>
<li><a href="Node.js" title="Node.js">Node.js</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Unit_testing" title="Unit testing">Unit testing</a> frameworks (<a href="List_of_unit_testing_frameworks#JavaScript" title="List of unit testing frameworks">list</a>)</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Jasmine_(software)" title="Jasmine (software)">Jasmine</a></li>
<li><a href="Mocha_(JavaScript_framework)" title="Mocha (JavaScript framework)">Mocha</a></li>
<li><a href="QUnit" title="QUnit">QUnit</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">People</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Douglas_Crockford" title="Douglas Crockford">Douglas Crockford</a></li>
<li><a href="Ryan_Dahl" title="Ryan Dahl">Ryan Dahl</a></li>
<li><a href="Brendan_Eich" title="Brendan Eich">Brendan Eich</a></li>
<li><a href="John_Resig" title="John Resig">John Resig</a></li>
<li><a href="Jesse_James_Garrett" title="Jesse James Garrett">Jesse James Garrett</a></li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-06-19" href="https://en.wikipedia.org/wiki/?title=WebAssembly&oldid=1296281440">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>